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 */ });
3 years ago
ed
d6baa1570d
Docs: Removed reference to Graphics::getClipRegion() method which no longer exists
4 years ago
reuk
394c4fd475
Clang: Fix warnings when building with clang 10
4 years ago
ed
009d685179
Updated all license headers
4 years ago
Tom Poole
6cb75d9d2c
Replaced all references to ROLI with Raw Material Software and regenerated all bytecode
5 years ago
Tom Poole
894e7d2bd2
Updated all license headers
5 years ago
ed
add88c33f2
Replaced all references to ROLI with Raw Material Software and regenerated all bytecode
5 years ago
Tom Poole
2d16374b14
Updated all license headers
5 years ago
reuk
327f817b9b
Copyrights: Update commercial/gpl headers to be gpl-only
5 years ago
ed
a54da0b832
Fixed some more typos
5 years ago
ed
e262bfa531
Fixed a few documentation typos
5 years ago
jules
f58eacc135
Added more unique_ptr use, for functions that create LowLevelGraphicsContext or ImageType objects.
6 years ago
ed
06da4f2daf
Added a font 'leading' parameter for multiline text layouts
6 years ago
ed
a234721110
Added various clang-tidy modernize-* fixes
6 years ago
jules
cadac817c6
Enabled some more warning flags in Xcode, and fixed the problems they caused
6 years ago
ed
eaf0f990d4
Replaced all uses of static_cast<Type&&> with std::move
6 years ago
James Hurst
af35baccf5
Allowed different text justifications in drawMultiLineText
6 years ago
jules
7ab4d1708b
Some misc cleanups, mainly around WeakReference usage and rectangles
6 years ago
Tom Poole
ab863a6dc2
Replaced all usage of ScopedPointer with std::unique_ptr
7 years ago
ed
cdbc28c18b
Add documentation tags
7 years ago
jules
f22317695b
Added a couple of casts to keep Visual Studio happy
7 years ago
jules
d9585241ad
Changed the parameters to Graphics::fillCheckerBoard() to be floats rather than ints, and improved its performance
7 years ago
jules
c3a218ab49
Added some methods ColourGradient::vertical and ColourGradient::horizontal, and also some missing move operators for that class
7 years ago
jules
970eda679e
Added 'final' keyword to a lot of classes from which you really shouldn't be inheriting!
7 years ago
jules
3d7c777238
Some light modernisation of a bunch of old code
7 years ago
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
7 years ago
jules
3df7f8ff8b
Did a bit of minor modernising in Graphics + Path
7 years ago
hogliux
b5afccc37c
Updated file headers and the README with the JUCE 5 license
8 years ago
jules
dace37288b
Tidied up a couple of minor analyser warnings and comments
8 years ago
jules
38d49a5ee7
Modernised a few RectangleList iterators
8 years ago
hogliux
2da1bc5f41
Replace include guards with "#pragma once"
8 years ago
tpoole
9d08f8fcac
Fixed a documentation typo.
8 years ago
tpoole
13c494666e
Changed lowResamplingQuality to kCGInterpolationNone on OS X and iOS
8 years ago
tpoole
a440c16d89
Added Graphics::ResamplingQuality::noResampling
8 years ago
hogliux
0159102e10
Fix ResamplingQuality documentation
8 years ago
jules
31f935cc60
Added a new Graphics::drawImage method that takes a Rectangle<float>
9 years ago
jules
5960afde1a
Cleaned up a few functions in Graphics, and optimised drawEllipse when used for circles
9 years ago
jules
edec7b34b2
Replaced some uses of AffineTransform::identity with a default-constructed object
9 years ago
hogliux
c7b8e77031
Update copyright notice
9 years ago
jules
39a1727223
Added some assertions in Graphics methods to catch negatively-sized rectangles.
10 years ago
jules
c5e0a60481
Added a couple of documentation notes.
10 years ago
Timur Doumler
be9a2ff1bb
Implemented support for Android OpenGL native ARGB pixel format.
10 years ago
jules
844d9e8d86
Added method Font::getDefaultMinimumHorizontalScaleFactor() to make it possible to change the global minimum font squashing amount.
10 years ago
jules
e60aa581d6
Added some missing semi-colons.
10 years ago
jules
38bddb3a0d
Added a default parameter value to Graphics::drawText.
10 years ago
jules
1a2a50f71d
Added a version of Path::addEllipse that takes a Rectangle
11 years ago
jules
6b43ebfafc
Added a version of Graphics::drawText that uses float coords.
11 years ago
jules
95610593a5
Fix for clipping of Graphics::drawSingleLineText with right-justification.
11 years ago
jules
6dda450ad6
Added a version of Graphics::drawEllipse that takes a rectangle.
11 years ago
jules
8a66ec83f0
Minor clean-ups.
11 years ago