reuk
28414a6af8
Global: Avoid floating-point equality checks where possible
2023-04-04 19:55:11 +01:00
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
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
...
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
2021-05-26 15:34:26 +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
5f348c3040
Warnings: Add warning-wrangling header
2020-04-13 13:16:05 +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
ed
59a058fdc6
Fixed some warnings flagged up when enabling -Wswitch-enum, -Wswitch-default, -Wredundant-decls, and -Wimplicit-fallthrough
2020-03-09 17:39:28 +00:00
jules
f58eacc135
Added more unique_ptr use, for functions that create LowLevelGraphicsContext or ImageType objects.
2019-05-15 12:08:38 +01:00
Tom Poole
4e0adb2af8
GCC 9 compatibility fixes
2019-04-30 17:46:15 +01:00
ed
a234721110
Added various clang-tidy modernize-* fixes
2019-01-31 15:15:31 +00:00
jules
6fda0bffca
Fixed some stray zeros that were still being passed as null pointers
2018-10-05 12:15:04 +01:00
Tom Poole
0e1722e387
Multiple spelling fixes
2018-08-20 18:16:24 +01:00
Tom Poole
08d67c763f
Made some JUCE classes TriviallyCopyable
2018-07-11 09:17:31 +01:00
jules
1e6bbb8da9
Added some methods to allow ReferenceCountedObjectPtrs to be constructed or copied from references as well as pointers - as well as increasing safety, this actually makes things a bit more efficient as it skips a nullptr check. Updated lots of places in the code that could take advantage of this
2018-07-03 11:51:13 +01:00
Tom Poole
102ed4a9f2
Fixed some compiler warnings
2018-06-27 17:02:25 +01:00
jules
49aa9c9db4
Added flag JUCE_STRICT_REFCOUNTEDPOINTER which is recommended to avoid accidental leaks when using ref-counted pointers. Enabled this flag in the demo projects, and used it to help tidy up some dubious smart-pointer use
2018-06-26 14:06:52 +01:00
jules
974b4a8351
Removed some legacy friend class declarations that are no longer needed with modern compilers
2018-06-13 17:11:37 +01:00
jules
38295f332b
Converted some old typedefs to using declarations
2018-05-03 09:59:05 +01:00
Tom Poole
ab863a6dc2
Replaced all usage of ScopedPointer with std::unique_ptr
2018-04-19 20:27:47 +01:00
ed
cdbc28c18b
Add documentation tags
2018-03-15 12:10:32 +00:00
jules
e1f57f64da
Optimised a couple of places in the software/GL render engines where copies of RectangleLists could be avoided
2018-02-07 15:53:54 +00:00
jules
1a60fa9765
More ScopedPointer/unique_ptr compatibility work
2018-01-10 17:35:08 +00:00
jules
48a5fbd333
Another batch of ScopedPointer cleanups
2018-01-10 14:49:57 +00:00
jules
78b0ab6442
A few code cleanups
2018-01-09 14:28:08 +00:00
jules
3ec5c17bb1
Misc cleanups relating to ScopedPointer
2018-01-08 18:03:26 +00:00
jules
3e73e11d82
Avoided a visual studio warning
2017-11-03 14:12:49 +00:00
jules
9d56e2990d
Optimised the GL renderer to avoid splitting large rectangles into horizontal strips unnecessarily
2017-11-03 13:51:37 +00:00
jules
2dc9316420
Misc ScopedPointer changes to start using reset() and get() rather than assignments and casts (part of an ongoing drift towards more std::unique_ptr compatibility)
2017-11-01 17:41:06 +00: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
jules
7c6f3d40b6
Tidied up some method calls involving HeapBlock
2017-09-05 16:06:57 +01:00
jules
3df7f8ff8b
Did a bit of minor modernising in Graphics + Path
2017-08-09 10:41:08 +01:00
hogliux
b5afccc37c
Updated file headers and the README with the JUCE 5 license
2017-04-27 14:43:04 +01:00
jules
bf94ab0e4c
Made a few minor tweaks to reduce the number of pedantic -Wfloat-equals warnings
2017-04-21 15:09:35 +01:00
jules
38d49a5ee7
Modernised a few RectangleList iterators
2017-04-03 16:08:07 +01:00
hogliux
2da1bc5f41
Replace include guards with "#pragma once"
2017-02-01 17:18:07 +00:00
ed
aff5ea5a9b
Replaced two instances of src[1] with src[0] in the render4PixelAverage method as adding pixelStride handles the offset
2016-09-21 09:54:18 +01:00
jules
edec7b34b2
Replaced some uses of AffineTransform::identity with a default-constructed object
2015-12-22 17:46:31 +00:00
jules
6f092d602d
Rendering optimisation when filling off-screen paths
2015-12-22 10:26:03 +00:00
hogliux
c7b8e77031
Update copyright notice
2015-07-22 15:59:34 +01:00
jules
f6395d4cda
Raised the warnings level in the introjucer, and fixed a few warnings that were thrown up by this.
2015-03-31 11:44:10 +01:00
jules
c304ea1e15
Made a couple of internal glyph handling methods public to help 3rd party tweaking.
2015-02-03 09:27:29 +00:00
jules
7d8b9ad597
Avoided a few linux gcc warnings.
2014-08-05 13:29:18 +01:00
jules
d7777c87c5
Avoiding a VC warning.
2014-04-13 12:43:12 +01:00
jules
bcce4e388a
Minor optimisation in software image rendering.
2014-04-12 12:21:17 +01:00
jules
f4c83a9411
Fix for a very obscure race-condition involving font string initialisation.
2014-04-05 17:39:31 +01:00
jules
6c17d3ca74
GlyphCache multithreading fix.
2014-03-20 13:08:27 +00:00