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

126 commits

Author SHA1 Message Date
reuk
15f05443d0
Graphics: Add missing JUCE_API annotation to ScopedSaveState 2025-06-03 16:12:00 +01:00
attila
c61158ed3a Add GlyphArrangementOptions for addFittedText and drawFittedText
The new options can be used to affect line spacing.
2025-05-09 13:39:11 +02:00
Oli
250abe9cf4 LowLevelGraphicsContext: Add preferred image type for temporary images
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01:00
reuk
19edd53842
EdgeTable: Fix issue where edges of paths could be anti-aliased incorrectly at edges of clip regions 2025-02-03 19:16:46 +00:00
reuk
56ea531298
CoreGraphics: Fix bug where subsection images were rendered incorrectly 2025-02-03 13:56:31 +00:00
Anthony Nicholls
880b76983e Graphics: Use cached glyph shaping when only the position of text changes 2024-12-13 14:41:26 +00:00
reuk
80ac9a78a0
Singleton: Add new macros to simplify singleton creation
The INLINE macros allow singletons to be declared and defined in one
line, without requiring a separate JUCE_IMPLEMENT_SINGLETON statement.
2024-10-16 10:36:52 +01:00
reuk
8754d87900 Windows: Fix build warnings when JUCE_DISABLE_ASSERTIONS is set 2024-09-13 13:57:10 +01:00
reuk
cc52e9322d
LowLevelGraphicsPostScriptRenderer: Remove support 2024-06-27 18:10:22 +01:00
reuk
19061e6d17
Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
reuk
1560f87111
LowLevelGraphicsContext: Replace glyph drawing functions with single drawGlyphs() 2024-04-18 14:16:01 +01:00
reuk
4533077b75
LookAndFeel: Allow specifying a default typeface metrics kind to use 2024-04-18 14:16:00 +01:00
reuk
c2fce879c5
Font: Allow switching between legacy non-portable metrics, and new portable metrics 2024-04-18 14:16:00 +01:00
reuk
4f2c287f9b
Font: Deprecate old Font constructors 2024-04-18 14:16:00 +01:00
reuk
c40da067cd
RenderingHelpers: Implement GlyphCache in terms of LruCache 2024-04-18 14:15:59 +01:00
reuk
080ac6e7e7
LruCache: Factor out of GlyphArrangementCache 2024-04-17 14:41:00 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
Tom Poole
7d45d498b9 Removed some superfluous consts from definitions 2023-09-20 16:31:10 +01:00
Tom Poole
9b041f3d74 Add a base clang-tidy configuration 2023-09-18 11:24:19 +01:00
reuk
28414a6af8
Global: Avoid floating-point equality checks where possible 2023-04-04 19:55:11 +01:00
attila
c0f31aa12a CoreGraphics: fillAll() fills a larger area to avoid alpha blended edges
Alternatively we could disable antialiasing before the fill operation
but this could cause neighbouring Components to overlap on the screen
even if their coordinates don't.
2022-09-12 15:39:05 +02:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
reuk
3bf635e004
Warnings: Always supply all field initialisers
This also fixes an issue where the requested font style could be
incorrectly overwritten.
2022-04-22 14:18:48 +01:00
Tom Poole
68514d626c Graphics: Added a global GlyphArrangement cache 2022-04-04 12:36:33 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
ebac835673
Fix some deprecation warnings 2022-03-22 17:27:54 +00:00
reuk
1d1d743b9f
Build: Add -Wdeprecated to recommended flags and fix new warnings 2022-02-23 10:56:10 +00:00
reuk
72abf72c79
GraphicsContext: Fix unused variable warning 2021-12-01 15:44:07 +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
ed
d6baa1570d Docs: Removed reference to Graphics::getClipRegion() method which no longer exists 2021-04-29 17:33:24 +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
ed
a54da0b832 Fixed some more typos 2020-01-07 08:53:23 +00:00
ed
e262bfa531 Fixed a few documentation typos 2019-09-12 10:19:33 +01:00
jules
f58eacc135 Added more unique_ptr use, for functions that create LowLevelGraphicsContext or ImageType objects. 2019-05-15 12:08:38 +01:00
ed
06da4f2daf Added a font 'leading' parameter for multiline text layouts 2019-03-11 16:43:21 +00:00
ed
a234721110 Added various clang-tidy modernize-* fixes 2019-01-31 15:15:31 +00:00
jules
cadac817c6 Enabled some more warning flags in Xcode, and fixed the problems they caused 2019-01-11 09:52:10 +00:00
ed
eaf0f990d4 Replaced all uses of static_cast<Type&&> with std::move 2018-11-28 17:29:20 +00:00
James Hurst
af35baccf5 Allowed different text justifications in drawMultiLineText 2018-08-22 11:24:29 +01:00
jules
7ab4d1708b Some misc cleanups, mainly around WeakReference usage and rectangles 2018-07-09 16:00:45 +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
f22317695b Added a couple of casts to keep Visual Studio happy 2017-12-06 17:48:41 +00:00
jules
d9585241ad Changed the parameters to Graphics::fillCheckerBoard() to be floats rather than ints, and improved its performance 2017-12-06 17:33:26 +00:00
jules
c3a218ab49 Added some methods ColourGradient::vertical and ColourGradient::horizontal, and also some missing move operators for that class 2017-11-08 15:00:47 +00:00
jules
970eda679e Added 'final' keyword to a lot of classes from which you really shouldn't be inheriting! 2017-10-09 12:38:06 +01:00