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
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
ed
009d685179
Updated all license headers
2020-06-29 08:30:22 +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
ed
26c9468dc5
Deprecated AffineTransform::getScaleFactor() as it was producing incorrect values for transforms containing rotations. Added getDeterminant() method for getting the determinant of the transform
2020-03-30 18:34:19 +01:00
Tom Poole
24d7a9a342
Updated some deprecated code use
2019-11-29 10:21:28 +00:00
jules
dee78f29f6
Misc cleanups and modernisation
2018-05-11 12:46:30 +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
tpoole
0874e47a35
Graphics code refactoring
2017-06-27 15:31:54 +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
4583fa3fbf
Used the ignoreUnused() function to tidy up some old code
2015-12-23 16:27:50 +00:00
jules
d833ab5e33
TextLayout: added support for using the AttributedString::getLineSpacing value in DirectWrite
2015-11-24 17:53:11 +00:00
hogliux
c7b8e77031
Update copyright notice
2015-07-22 15:59:34 +01:00
jules
75770f293c
New class: SharedResourcePointer
2014-04-14 13:13:07 +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
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
2329e63f20
Converted a few Colour references to pass-by-values.
2013-07-01 17:38:47 +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
c7506df13f
Changed some pass-by-references to pass-by-value to improve compiler optimisation.
2013-05-22 23:05:53 -06: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
a0ed9c96e4
New class: ConcertinaPanel.
2012-08-05 22:09:26 +01:00
jules
7cd30ec175
Direct2DRenderer: added transformations.
2012-05-26 12:44:31 +01:00
jules
38aee86ed1
Tweaks to some Direct2D code.
2012-05-23 17:47:53 +01: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
jules
ce0b4bdb9c
Support for writing JPG even if the image has an alpha channel. Added assertion to warn if you try to use a fallback font on OSX. Minor fixes and features for PopupMenu, ComboBox.
2011-09-28 17:10:38 +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