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
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
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
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
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
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
Oli
bd26d79b17
Effects: Use preferred temporary image type for DropShadow temporary image
...
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01: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
Oli
bf940ae42a
Direct2D: Do image cloning on GPU when possible
...
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01:00
Oli
ae784a941e
Direct2D: Implement moveValidatedImageSection
...
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01:00
Oli
2324e34e1b
Graphics: Move Image::moveImageSection into ImagePixelData
...
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01:00
reuk
c167c6dfde
Direct2D: Move ImagePixelDataNativeExtensions into separate header
2025-04-24 13:58:23 +01:00
Oli
5e5258591f
Direct2D: Move Direct2DGraphicsContext::Impl into separate header
2025-04-24 13:58:23 +01:00
reuk
6deb508e96
Direct2D: Move Direct2DFactories to juce_DirectX_windows.h
2025-04-24 13:58:23 +01:00
reuk
18b508343d
Direct2D: Move Direct2DResources to juce_DirectX_windows.h
2025-04-24 13:58:23 +01:00
reuk
b5b7dd5696
Direct2D: Move Direct2DHelpers into juce_DirectX_windows.h
2025-04-24 13:58:23 +01:00
Oli
2f46d9eff4
Direct2D: Change juce_FunctionPointerDestructor.h include order
2025-04-24 13:58:23 +01:00
attila
d2d5e9bdd2
TextEditor: Fix setLineSpacing
...
Applies the previously missed line spacing value of the TextEditor.
The changes in JustifiedText fix calculating the vertical position of
the first line for the case where ShapedTextOptions has the following
settings:
isBaselineAtZero() == false,
getHeight().has_value() == false
getLeading() > 1.0f
This case however is only triggered by the TextEditor, as with all
functions in GlyphArrangement at least one setting is different.
2025-04-23 18:11:26 +02:00
Oli
3b43b7ca13
Direct2D: Reduce DirectX resource thrashing in Direct2D Swapchain
2025-04-22 12:53:46 +01:00
attila
c786e6160c
Direct2D: Fix fillAlphaChannelWithCurrentBrush when the source position is non-zero
2025-04-17 10:27:24 +02:00
Tom Poole
99b752a1d2
Bump version number to 8.0.7
2025-04-08 10:51:07 +01:00
attila
9083cd9135
Fix TextEditor crash when Font resolution fails
2025-04-02 15:33:27 +02:00
attila
9c0aeb9e00
ShapedText: Fix potential crash caused by invalid Unicode strings
...
This change also fixes bad access that could happen with \r\n
line terminators. An incorrectly sized buffer meant that \n was
clobbered by the null terminator.
2025-04-02 15:33:27 +02:00
attila
bdc515e424
ShapedText: Fix crash caused by failing to find a fallback font for all codepoints
2025-04-02 15:33:27 +02:00
reuk
eca83213eb
Direct2D: Fix issue where vertical/horizontal lines were ignored by strokePath
2025-04-02 10:57:09 +01:00
attila
5aab60f4e5
Direct2D: Fix text drawing using gradients
2025-03-28 12:19:11 +01:00
attila
5f5a247f82
TextEditor: Fix centred and right alignment when word wrap is disabled
2025-03-20 21:12:32 +01:00
reuk
ded1590ecb
HarfBuzz: Silence nontrivial-memcall warnings
...
These warnings are emitted by Clang 20.1
2025-03-19 11:06:17 +00:00
attila
273c7936d3
Direct2D: Fix text drawing using gradients when the screen scaling is 1
2025-03-17 15:32:59 +01:00
attila
432a7e1c9a
Fix C++20 compilation
2025-03-14 10:03:11 +01:00