reuk
80b190b75d
Projucer: Bump minimum supported Android API level
2025-03-18 14:38:12 +00:00
attila
ae4bca24f4
TextEditor: Fix crash when the caret is beyond a newline in the last position
2025-03-18 15:14:10 +01:00
Tom Poole
53b96db0d5
GHA: Fix nightly build notifications
2025-03-18 06:33:06 -07:00
attila
4362f9e0df
File: Document setReadOnly behaviour for Windows directories
2025-03-17 15:32:59 +01: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
Oliver James
04ed3559a6
CMake (MSVC): Make Z7 default debug info flag
2025-03-13 13:14:13 +00:00
Oliver James
62028e6773
Projucer (MSVC): Make Z7 default debug info flag
2025-03-13 13:14:13 +00:00
attila
9ce2feaf41
TextEditor: Improve Unicode editing behaviour and performance
2025-03-13 12:16:16 +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
Tom Poole
b163bc7a1f
GHA: Set individual artifact retention-days
2025-03-12 11:51:16 +00:00
Tom Poole
cdbfc7e677
GHA: Fail the cleanup job if the overall workflow is cancelled or failed
2025-03-12 09:20:53 +00:00
Tom Poole
f9041f281e
GHA: Add cleanup stage
2025-03-10 16:45:20 +00:00
Tom Poole
dabb602dd9
GHA: Don't notify after cancelled jobs
2025-03-07 16:44:45 +00:00
Tom Poole
86f8460d3e
GHA: Add commit status
2025-03-07 16:19:40 +00:00
attila
4deee6976b
AU Client: Fix calling makeFirstResponder for nil window in Ableton Live
...
When pressing the Escape key the call to hostView keyDown: closes the
plugin window and the subsequent [hostView window] returns nil.
2025-03-06 18:33:10 +01:00
Tom Poole
8c1ff91aa3
GHA: Conditionally notify workflow success
2025-03-06 11:00:51 +00:00
reuk
d77b34f432
PopupMenu: Add notes for testing scenarios
2025-03-05 21:27:51 +00:00
reuk
d39789b021
PopupMenu: Remove timeout before highlighting item under mouse
...
We now require a mouse movement before highlighting menu items. This is
intended to ensure that the user has intentionally highlighted the menu
item that they wish to trigger.
2025-03-05 21:27:51 +00:00
reuk
51b0319342
PopupMenu: Always attach a global mouse listener
...
This makes behaviour more consistent between the parented and
non-parented display modes.
Before this change, parented popup menus wouldn't respond to mouse
clicks until the mouse was released once, which meant that clicking and
dragging the mouse over a menu wouldn't trigger a menu item on mouse-up.
2025-03-05 21:27:50 +00:00
reuk
b0d7bad5ee
PopupMenu: Refactor Timer usage in MouseSourceState implementation
2025-03-05 21:27:50 +00:00
Tom Poole
384b18e441
GHA: Always notify
2025-03-05 08:39:14 +00:00
Tom Poole
f79b88d826
GHA: Add more verbose logging
2025-03-05 08:20:15 +00:00
Tom Poole
35c7afc6a1
Add GitHub Actions configuration
2025-03-04 11:36:41 +00:00
reuk
9a6f925bcb
NSViewComponentPeer: Fix typo that prevented graceful exit of kiosk mode
2025-03-03 14:41:32 +00: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
90695ce7b6
SystemStats: Silence function-cast warnings
2025-03-03 14:41:31 +00:00
Anthony Nicholls
f985cf0c31
iOS: Restore sample rate after iterating available sample rates
2025-02-27 14:50:53 +00:00
Anthony Nicholls
76e498f495
AudioDeviceManager: Skip validation when there is only one device
2025-02-27 14:50:53 +00:00
Anthony Nicholls
a433e4dce0
iOS: Set target settings before updating hardware info to reduce the number of device changes
2025-02-27 14:50:53 +00:00
Anthony Nicholls
462c1c857e
iOS: Improve performance when detecting and changing sample rates
2025-02-27 14:50:53 +00:00