1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-18 00:54:19 +00:00
Commit graph

41 commits

Author SHA1 Message Date
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
640194c878
MinGW: Improve compatibility
With this patch applied, the DemoRunner should build under MinGW, and be
(nearly) feature-complete compared to the MSVC build.

Specifically, when building with MinGW:
- Adds support for accessibility
- Fixes build issues in the juce_video module
- Fixes a link issue in the VST3 wrapper when VST3_CAN_REPLACE_VST2 is
  defined
- Adds support for the new-style native FileChooser
- Tidies up some other low-severity warnings

Known issues:
- Direct2D rendering is still not supported when building with MinGW due
  to ABI compatibilities.
2022-01-17 10:58:18 +00:00
reuk
3768349a05
Font: Make Font and TypefaceCache threadsafe
Previously, it wasn't safe to access Font instances from multiple
threads because there was a chance that they might reference the same
shared internal state. In this case, calling getTypeface() or getAscent from
two threads simultaneously would cause a race on the typeface and ascent
data members, even though the Font instances appeared to be disjoint.

With this change in place, it is now safe to use Font instances from
multiple threads simultaneously.

It is still an error to modify the same Font instance from multiple
threads without synchronization!

    // Fine:
    Font a;
    Font b = a;

    auto futureA = std::async (std::launch::async, [&a] { /* do something with a */ });
    auto futureB = std::async (std::launch::async, [&b] { /* do something with b */ });

    // Bad idea:
    Font f;

    auto futureA = std::async (std::launch::async, [&f] { /* do something with f */ });
    auto futureB = std::async (std::launch::async, [&f] { /* do something with f */ });
2021-09-23 10:28:47 +01:00
reuk
7ac6911ccc
Windows: Fix clang/gnu compiler warnings 2021-06-03 17:30:44 +01:00
reuk
ba37f915d6 Font: Fix issue where style changes may also affect the typeface of a Font
On Windows, calls to `createSystemTypefaceFor` with a data buffer always
create a WindowsTypeface instance. However, calls with an existing
`Font` instance may try to create a WindowsDirectWriteTypeface, and will
only fall back to using a WindowsTypeface on failure.

Previously, a missing typeface wasn't treated as a failure, which meant
that `WindowsDirectWriteTypeface` would fall back to the first usable
typeface it could find.

With this change applied, we check whether the
WindowsDirectWriteTypeface actually managed to find the font we
requested, and will fall back to using a plain WindowsTypeface in that
case.
2021-01-27 15:57:52 +00:00
ed
009d685179 Updated all license headers 2020-06-29 08:30:22 +01:00
reuk
092bc44413
MinGW: Fix windows/gcc warnings 2020-05-11 11:28:28 +01:00
reuk
e13901d912 ClangCl: Silence code which warns when building on Windows with Clang 2020-04-27 10:22:06 +01:00
Tom Poole
894e7d2bd2 Updated all license headers 2020-04-23 17:30:39 +01:00
reuk
327f817b9b Copyrights: Update commercial/gpl headers to be gpl-only 2020-04-09 15:22:56 +01:00
jules
c9d05caaae Replaced win32 font kerning tables with maps to improve performance 2018-09-18 12:20:11 +01:00
jules
dee78f29f6 Misc cleanups and modernisation 2018-05-11 12:46:30 +01:00
hogliux
269c1f27fd Win32: Fixed a bug where certain unicode characters (> 0x8000) would not be displayed correctly on Windows 2018-04-25 11:33:09 +01:00
Tom Poole
ab863a6dc2 Replaced all usage of ScopedPointer with std::unique_ptr 2018-04-19 20:27:47 +01:00
jules
eda613c6db Moved all "namespace juce" declarations from module headers to the individual .h and .cpp source files. This makes life a lot easier for Intellisense and other IDE autocompletion tools 2017-09-08 08:59:55 +01:00
hogliux
b5afccc37c Updated file headers and the README with the JUCE 5 license 2017-04-27 14:43:04 +01:00
jules
8ed41ed14b Fixed some whitespace style and cleaned up some code using C++11 2017-03-27 13:06:42 +01:00
hogliux
9f3fb1c0a6 Added a compiler error if your compiler is too old and removed numerous code checks for old compilers which are now deprecated 2017-02-01 17:18:06 +00:00
jules
02492b36b9 Lots of small whitespace tweaks. 2015-12-13 19:32:05 +00:00
Timur Doumler
dca4d77f9d Fixed compiler warnings on Visual Studio 2015 RTM. 2015-07-23 15:57:18 +01:00
hogliux
c7b8e77031 Update copyright notice 2015-07-22 15:59:34 +01:00
jules
e5d89355d1 Win XP font style selection fix. 2014-08-13 08:54:31 +01:00
jules
75770f293c New class: SharedResourcePointer 2014-04-14 13:13:07 +01:00
jules
dfda7c77fc Workarounds for some mingw build problems. 2014-03-19 11:23:52 +00:00
jules
1de23b2c06 Workaround for DirectWrite failing to load certain fonts. 2013-12-29 10:31:59 +00:00
jules
ffb4572104 Fix for DPI of win32 fonts sizes when specified in points. 2013-12-23 11:59:35 +00:00
jules
64a38ea6ee Sanity-checked places where introjucer GUI editor added TRANS macros. 2013-12-19 18:31:32 +00:00
jules
d3b92ab447 Fix for win32 memory font loading. 2013-12-19 16:43:51 +00:00
jules
d8c065c81f Added functionality for loading in-memory fonts! See Typeface::createSystemTypefaceFor() 2013-12-19 15:39:30 +00:00
jules
05cd003f4b Made Times New Roman the default serif font on Windows. 2013-10-04 10:00:24 +01:00
jules
03c2801f3f Copyright header update in all module files. juce_core modules are now ISC licensed. All other modules are GPLv2/3/AGPLv3 2013-06-13 13:17:12 +01:00
jules
2d6135a6db Added some methods for scanning font folders with FreeType. 2013-04-21 20:47:29 +01:00
jules
a07ce814eb win32 font point size fixes. 2012-12-18 18:06:01 +00:00
jules
2ae82c4db4 New method Font::withPointHeight, for specifying font sizes in points. 2012-12-17 21:27:23 +00:00
jules
0ceeb573d8 Minor changes to avoid pedantic compiler warnings. 2012-12-04 21:39:15 +00:00
jules
9a7e7a267a New method: Rectangle::constainedWithin(). 2012-09-11 10:57:09 +01:00
jules
941907a3d1 Initial commit of font style access, providing access to the styles available for each font family. 2012-05-01 12:10:05 +01:00
jules
4773b388ef AttributedString class and advanced text layout (stage 1) 2011-11-21 20:03:39 +00:00
jules
c9cdf073dd Couple of small win32 fixes. Cleaned up win32 registry code. 2011-09-26 10:40:44 +01:00
Julian Storer
b70e0a28d2 First check-in of the "jucequake": a major re-organisation of the library to break it up into modules. For more details about this, see the website forum.. 2011-08-12 10:04:52 +01:00
Renamed from src/native/windows/juce_win32_Fonts.cpp (Browse further)