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

15190 commits

Author SHA1 Message Date
reuk
4bdb76158e
Projucer (Android): Update default toolchain versions
Soon, Google Play will require apps targeting API 35+ to be compatible
with 16 KB page sizes, which is achieved by updating the NDK version.
2025-05-19 11:33:23 +01:00
attila
94fc24e41a iOS: Fix compiling juce_audio_devices when juce_graphics isn't added 2025-05-16 18:08:54 +02:00
attila
74d4ebe8a0 Add LineSpacingDemo to show new GlyphArrangement option 2025-05-13 18:32:01 +02:00
attila
724221081b Change the value returned by Font::getAscentInPoints and getDescentInPoints
Prior to this commit the returned values were always normalised to the
value returned by getHeightInPoints().
I.e. getAscentInPoints() + getDescentInPoints() would always equal
getHeightInPoints(), even if ascent or descent overrides were in place.

With this change in place getAscentInPoints() + getDescentInPoints()
will always equal
getHeightInPoints() * (getAscentOverride() + getDescentOverride())

JUCE classes don't use this value for layout logic, so this commit
causes no visible changes in how JUCE draws text.
2025-05-13 18:32:01 +02:00
attila
283ea12958 Fix addFittedText overflowing the bounds when line spacing and height multiple is non-default 2025-05-13 18:32:01 +02:00
attila
b9458fb240 GlyphArrangementOptions: Add missing JUCE_API annotation 2025-05-13 18:32:01 +02:00
attila
a0e429fdd0 Fix bidi ordering 2025-05-12 16:49:05 +02:00
attila
69b2b3ff5d Remove unused internal bidi features
This commit removes the possibility to construct BidiParagraph and
BidiLine objects with non-zero offsets. We don't use these features,
and the assumption that these offsets are always zero simplifies our
visual ordering algorithm.
2025-05-12 16:49:05 +02:00
attila
8a27eb3b7c Tidying 2025-05-12 16:49:05 +02:00
attila
10b6289295 SimpleShapedText: Fix overallocating s32 buffer
Prior to this commit we overallocated the s32 buffer. The buffer was
unnecessarily padded by zeros, and the line stating this, wasn't
actually dropping the null terminator.
2025-05-12 16:49:05 +02:00
Anthony Nicholls
bc4ea1a66f HighResolutionTimer: Prevent a race condition in the unit tests
Some checks failed
JUCE Private Push Trigger / JUCE Push Trigger (push) Has been cancelled
2025-05-09 16:44:01 +01:00
Mathieu Demange
980926d4a6 Reword isSingularity() brief to avoid Doxygen line break
The last period in "i.e." was previously interpreted as the end of a brief description.
2025-05-09 12:57:02 +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
attila
787f7a4694 Use ShapedTextOptions::withAdditiveLineSpacing where appropriate
After reviewing the NSAttributedString API it seems justified to have
two different functions for additive and multiplicative line spacing
settings. For NSAttributedString they are setLineSpacing and
setLineHeightMultiple.

Using this function, when appropriate, exercises it lessening the
likelihood of code rot.
2025-05-09 13:39:11 +02:00
Sudara
f908e52bdf Docs: Align FloatVectorOperations comments with parameter names
Some checks failed
JUCE Private Push Trigger / JUCE Push Trigger (push) Has been cancelled
2025-05-08 16:33:24 +02:00
Sudara
9a4ab937ad Docs: Fix a few tiny typos in comments 2025-05-08 16:33:24 +02:00
reuk
626a4ea475
VST2 Client: Fix issue where compatible VST3 IDs were misreported
`convertVST2PluginId` returns `array<byte, 16>` rather than `String`, so
it's incorrect to interpret the result as a hex string.
2025-05-06 16:11:20 +01:00
reuk
e42ab22a78
VST3 Client: Add null checks, in case Edit Controller is used before being connected 2025-05-06 16:11:20 +01:00
Anthony Nicholls
76215d2dd0 ListenerList: Prevent false positive assertions in callCheckedExcluding 2025-05-01 15:57:19 +01:00
Oli
6972c4f0e3 Direct2D: Fix ETW tracing build errors
This makes Direct2DMetrics and current frameId accessible to implementation subclasses.

It also replaces JUCE_WRITE_TRACE_LOG with JUCE_WRITE_TRACE_LOG_VA as intended in original implementation.

Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-30 10:50:52 +01:00
Oli
3ff8d4f640 DSP: Enable SIMD on ARM only when NEON is available 2025-04-28 15:50:22 +01:00
Oli
522217d9c5 Projucer (MSVC): Fix multi-arch PCH project generation
Co-authored-by: Ryaan Ahmed <ryaan.ahmed@bandlab.com>
2025-04-24 14:57:30 +01:00
reuk
243d3756fc Direct2D: Hide implementation of RectangleListSpriteBatch::fillRectangles 2025-04-24 13:58:24 +01:00
reuk
49948d5dd4 Direct2D: Remove unused declarations 2025-04-24 13:58:24 +01:00
reuk
98d4ddef87 Direct2D: Move MemoryFontFileLoader to DirectX.cpp 2025-04-24 13:58:24 +01:00
reuk
234e75b2be Direct2D: Move MemoryFontFileFileStream to DirectX.cpp 2025-04-24 13:58:24 +01:00
reuk
96683e49a1 Direct2D: Move FontFileEnumerator to DirectX.cpp 2025-04-24 13:58:24 +01:00
reuk
8d29edec92 Direct2D: Move CompositionTree to Direct2DHwndContext.cpp 2025-04-24 13:58:24 +01:00
reuk
1f6c1737eb Direct2D: Remove declaration of makeGradientStopCollection() 2025-04-24 13:58:24 +01:00
reuk
8d33428dcf Direct2D: Move WindowsScopedEvent to Direct2DHwndContext.cpp 2025-04-24 13:58:24 +01:00
reuk
f56c7faf40 Direct2D: Move SwapChain into Direct2DHwndContext.cpp 2025-04-24 13:58:24 +01:00
reuk
43c9f28d59 Direct2D: Move ScopedGeometryWithSink to Direct2DGraphicsContextImpl.cpp 2025-04-24 13:58:24 +01:00
reuk
137d9820b1 Direct2D: Move D2DHelpers to Direct2DGraphicsContext.cpp 2025-04-24 13:58:24 +01:00
reuk
2aed72d0d7 Direct2D: Move paintPrimitive implementation into Direct2DGraphicsContext 2025-04-24 13:58:24 +01:00
reuk
b061d5f5a4 Direct2D: Hide D2D SavedState in .cpp file 2025-04-24 13:58:24 +01:00
reuk
0071f4741c Direct2D: Make protected members of Pimpl private/public as appropriate 2025-04-24 13:58:24 +01:00
reuk
170b463400 Direct2D: Remove unused hwnd data member from D2DGraphicsContext::Pimpl 2025-04-24 13:58:24 +01:00
reuk
93d227b6af Direct2D: Split declaration and definition of Direct2DGraphicsContext::Pimpl 2025-04-24 13:58:24 +01:00
reuk
352f77083d DirectX: Remove unused ScopedMultithread 2025-04-24 13:58:24 +01:00
reuk
87abc7919b DirectX: Split out function definitions into a separate cpp file 2025-04-24 13:58:24 +01:00
Oli
ca3abbb96d Direct2D: Round virtual texture tile position
This fixes the issue reported here: https://forum.juce.com/t/regression-in-drawimage/65084/5
2025-04-24 13:58:24 +01:00
Oli
5d6cd1f2d7 Direct2DGraphicsContext: Fix rendering for rectangles smaller than 1x1
This should also fix https://forum.juce.com/t/bug-d2d-renderer-does-not-draw-purely-horizontal-vertical-paths/65686/3

Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:24 +01:00
Oli
093df763ba Direct2DHwndGraphicsContext: Always use default adapter
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:24 +01:00
Oli
1dce4ae0fe Direct2DGraphicsContext: Use path bounds to check for emptiness
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:24 +01:00
Oli
e177c5f8f4 Direct2DHwndGraphicsContext: Shorten lines longer than 100 characters 2025-04-24 13:58:24 +01:00
Oli
44d304b468 Direct2D: Use PostMessage for swapchain events
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:24 +01:00
Oliver James
16326d13d3 Direct2D: Use the 'focused' window when acquiring metrics
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01:00
Oli
f75fb7f452 Windows: Use SoftwareImageType for Icon conversions
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01:00
Oli
27946ba063 Effects: Use compatible image type for DragAndDropContainer
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01:00
Oli
9374f2c9f7 Graphics: Use preferred temporary image type for transparency layers
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01:00