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
attila
427852836c
ShapedText: Break ligatures into multiple iterable placeholder glyphs
2025-03-13 12:16:16 +01:00
attila
bc093fa64c
Ranges: ShapedText: Use out params for improving TextEditor performance
2025-03-13 12:16:16 +01:00
attila
a4f73a37af
ShapedText: Fix input text range calculation logic during wrapping
2025-03-13 12:16:16 +01:00
attila
bfbdc4844d
ShapedTextOptions: Fix uninitialised member variable
2025-03-13 12:16:16 +01:00
attila
50863c144e
ShapedTextOptions: Add equality operators
2025-03-13 12:16:16 +01:00
attila
d72df5faa3
ShapedText: Add bidirectional lookup functions relating positions, input indices and glyph indices
2025-03-13 12:16:16 +01:00
attila
6cf697bd6d
Ranges: Add equality operators
2025-03-13 12:16:16 +01:00
attila
2842c8ef8e
Add detail::Ranges::getRanges()
2025-03-13 12:16:16 +01:00
attila
6c3043f082
Add detail::UnicodeHelpers::getLineBreaks
2025-03-13 12:16:16 +01:00
attila
a07098d479
Add ShapedText::getHeight()
2025-03-13 12:16:16 +01:00
attila
213d3fb56a
Add RangedValues::getIntersectionsStartingAtZeroWith
2025-03-13 12:16:16 +01:00
attila
2d24504cd1
Change the return type of RangedValues::getIntersectionsWith
...
This is to avoid converting the returned value to RangedValues at the
call site.
2025-03-13 12:16:16 +01:00
attila
8dccb38081
Make IntersectingRangedValues independent from the RangedValues type
...
With this change you can use makeIntersectingRangedValues() not just for
RangedValues objects, but any object that has a begin() and end()
function returning a RangedValuesIterator.
2025-03-13 12:16:16 +01:00
attila
5b04493fb8
Ranges: Make RangedValuesIterator independent from the RangedValues type
...
This commit also relaxes the requirements imposed on the types for which
RangedValuesIterators can be created.
2025-03-13 12:16:16 +01:00
attila
43608a5208
Ranges: Store more information in Split and Change operations
...
This allows implementing more sophisticated logic in types wrapping
Ranges and RangedValue objects.
2025-03-13 12:16:16 +01:00
attila
ef840b7472
Use detail::RangedValues<Font> on ShapedText related interfaces
...
Previously using the FontForRange type was motivated by hiding the
RangedValues type in case we wanted to expose the ShapedText API. This
introduced unnecessary conversions between FontForRange and
RangedValues<Font>.
2025-03-13 12:16:16 +01:00
attila
ad43702e88
Add detail::RangedValues::shift
2025-03-13 12:16:16 +01:00
attila
fab1de34ab
Add ShapedText::accessTogetherWith and remove ShapedText::access
...
Since the original function template has been exposed, we can now use it
directly. Also ShapedText::Detail has been removed, because it wouldn't
work across module boundaries.
2025-03-13 12:16:16 +01:00
attila
1b595311d0
Move ShapedText to the detail namespace and expose it in the headers
...
This makes it accessible for the new TextEditor implementation in
juce_gui_basics.
2025-03-13 12:16:16 +01:00
attila
e31fb368b6
Unicode TR14: Always return a hard break for line breaking code points
...
Prior to this commit a soft break would be returned at the end of text,
even if the text was terminated by a newline.
2025-03-13 12:16:16 +01:00
reuk
518240cd61
Zlib: Fix unknown-symbols errors when building with clang, windows, C++20/23
2025-03-03 14:41:32 +00:00
reuk
209c86c627
Zlib: Update JUCE sources to support new zlib version
2025-02-25 12:47:13 +00:00
reuk
9bdf69e499
PathStrokeType: Avoid unnecessarily starting new subpaths
2025-02-11 18:11:12 +00:00
reuk
92c7d73d2d
Direct2D: Fix image artefacts at the edge of alpha-clipped regions
...
This addresses the same issue that
95d416ab77 was intended to fix:
Drawing a drop shadow on a high-res display on Windows could sometimes
produce thin lines around the edge of the shadow. Using the 'clamp'
rather than the 'wrap' clipping mode seems to help.
2025-02-11 18:11:12 +00:00
reuk
5aa76a7d7e
DropShadow: Revert recent shadow-scale change
...
Reverts 95d416ab77
The previous change caused the shadow to draw at higher resolution on
high-res displays, which then made the blur more expensive to compute.
2025-02-11 18:11:12 +00:00
reuk
95d416ab77
DropShadow: Draw shadows for paths at correct scale to avoid stretching the blurred bitmap
2025-02-06 18:22:33 +00:00
reuk
09b10428ec
CoreGraphics: Remove CoreImage implementations for desaturation and transparency
2025-02-06 18:22:33 +00:00
reuk
c46bcb677e
CoreGraphics: Remove CoreImage single-channel blur implementation
...
The CoreImage blur implementation is often significantly slower than
the old software blur in common scenarios such as rendering shadows.
2025-02-06 18:22:33 +00: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