1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
Commit graph

31 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
1d1d743b9f
Build: Add -Wdeprecated to recommended flags and fix new warnings 2022-02-23 10:56:10 +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
394c4fd475 Clang: Fix warnings when building with clang 10 2020-07-01 10:00:43 +01:00
ed
009d685179 Updated all license headers 2020-06-29 08:30:22 +01:00
Tom Poole
6cb75d9d2c Replaced all references to ROLI with Raw Material Software and regenerated all bytecode 2020-04-23 17:30:40 +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
7ab4d1708b Some misc cleanups, mainly around WeakReference usage and rectangles 2018-07-09 16:00:45 +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
38d49a5ee7 Modernised a few RectangleList iterators 2017-04-03 16:08:07 +01:00
jules
edec7b34b2 Replaced some uses of AffineTransform::identity with a default-constructed object 2015-12-22 17:46:31 +00:00
hogliux
c7b8e77031 Update copyright notice 2015-07-22 15:59:34 +01:00
Timur Doumler
be9a2ff1bb Implemented support for Android OpenGL native ARGB pixel format. 2015-05-05 17:44:10 +01:00
jules
e60aa581d6 Added some missing semi-colons. 2014-10-14 11:48:16 +01:00
jules
8a66ec83f0 Minor clean-ups. 2013-09-26 18:15:45 +01:00
jules
22139761dc Couple of MSVC warning clean-ups. 2013-09-04 16:50:50 +01:00
jules
a2c95ce4fd Cleaned out and optimised some graphics code. 2013-09-04 13:38:54 +01:00
jules
dbf7053861 New method Graphics::fillRectList(), which performs better (and looks better when scaled) than multiple calls to fillRect or drawVerticalLine. Also fixed DPI detection in Windows. 2013-08-30 18:20:51 +01:00
jules
ca3bc70acd Changes to improve scaling when using cached component images and component effects. 2013-08-19 19:17:59 +01:00
jules
7fb2533bb0 Some rendering fixes. 2013-08-08 18:01:47 +01:00
jules
1b9a60e52c Added a templated type to the RectangleList class. If you've used this class and these changes cause syntax errors, all you need to do to your code is to replace "RectangleList" with "RectangleList<int>" and everything will work as it did before. 2013-07-28 18:08:28 +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
667a18712f Added begin()/end() iterators to RectangleList. You should use these in preference to RectangleList::Iterator, as they're faster. 2012-11-15 13:58:49 +00:00
jules
295d125142 Stopped using the old BEGIN_JUCE_NAMESPACE macros, and just used hard-coded namespaces where necessary instead. The macro definitions are still there, so this shouldn't affect anyone's code. 2012-02-11 14:09:23 +00:00
jules
c38916b675 OpenGL renderer optimisations. 2011-12-22 18:32:34 +00:00
jules
b258976e6a Internal graphics refactoring. 2011-10-16 17:30:33 +01:00
Julian Storer
2c328dfedc Changed some return types from being const objects to non-const objects (for better c++11 compliance in future). This may mean that you need to remove the 'const' from your own code if you override the virtual methods that have changed. 2011-08-19 21:34:34 +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/gui/graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp (Browse further)