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

3389 commits

Author SHA1 Message Date
reuk
87cec3b743
UIViewComponentPeer: Fix an issue where the status bar could remain visible in landscape on iPhones 2025-11-04 14:18:19 +00:00
reuk
c1c0b58787
UIViewComponentPeer: Remove orientation-related methods that are deprecated on all supported JUCE deployment targets 2025-11-04 14:18:19 +00:00
reuk
a2ed4e3ffd
UIViewComponentPeer: Use correct return type for supportedInterfaceOrientations 2025-11-04 14:18:19 +00:00
reuk
22fa992187
iOS AppDelegate: Tidy up constructor of keyboard-tracking DelegateClass 2025-11-04 14:18:19 +00:00
reuk
a7a20747f0
iOS AppDelegate: Tidy up application:configurationForConnectingSceneSession:options 2025-11-04 14:18:19 +00:00
Anthony Nicholls
5ec4d85d82 Component: Add some basic unit tests 2025-11-03 13:48:02 +00:00
Anthony Nicholls
961ff32b9e Component: Improve opaque component checks
- Improve default performance when components check if they are opaque
- Allows all components to take advantage of setPaintingIsUnclipped
- Give more control to opt out of opaque checks separate from setPaintingIsUnclipped
2025-11-03 13:48:02 +00:00
reuk
f5dc5c3956
Android: Fix crash when deleting peer on touch event 2025-10-21 19:09:47 +01:00
reuk
2f05ebe8d2
FileTreeComponent: Fix typo in docs 2025-10-20 17:34:47 +01:00
Anthony Nicholls
60c34d3ccb PopupMenu: Adjust the bounds of a menu that intersects with safe inset areas 2025-10-10 18:07:52 +01:00
Anthony Nicholls
88af872d4d AUv3: Fix an issue in detecting the available screen user area
On at least iOS 26 using a temporary window frame is unreliable. This
change tries to use an existing window for any non-standalone app. It
also updates the details on any changes, such as when the device
orientation changes.
2025-10-10 18:07:52 +01:00
attila
efcc8bb6f0 Remove unused function
The NSWindow class doesn't have isFlipped. Consequently the removed
function wasn't overriding it, and it wasn't called otherwise either.
2025-10-02 15:40:20 +02:00
reuk
ce737946f0 iOS: Fix building with JUCE_EXECUTE_APP_SUSPEND_ON_BACKGROUND_TASK option
This also fixes an issue where endBackgroundTask wasn't guaranteed to be
called after suspended() completed. According to the docs,
endBackgroundTask must be called after the task completes.
2025-09-29 16:40:55 +01:00
Anthony Nicholls
d0aa6d0486 iOS and macOS: Use consistent capitalisation with @available syntax 2025-09-25 14:56:34 +01:00
Anthony Nicholls
e68627c9ed Smart Pointers: Add a new enum for indicating if a smart point should increment a reference count or not 2025-09-25 14:56:34 +01:00
attila
ebc15c877c Fix drawing some SVG text elements that contain tspan elements
This commit mainly aims to fix some regressions caused by
20afcb5bf3, but it also fixes cases that
were rendered incorrectly even before.
2025-09-18 10:26:57 +02:00
attila
b03a23503a DrawableText: Add option to avoid trimming the start text 2025-09-18 10:26:57 +02:00
reuk
3d8a97c1c1
Android: Update bytecode minimum version requirements 2025-09-17 12:50:06 +01:00
reuk
51e5820cd3
FunctionNotificationCenterObserver: Move to ObjCHelpers header
This type will be used to monitor UMP endpoint changes in an upcoming
commit.
2025-09-17 12:50:06 +01:00
reuk
8ce1f19bf0
JNI: Tidying 2025-09-17 12:50:05 +01:00
Tom Poole
360dfe5f3d Bump version number to 8.0.10 2025-09-15 09:30:11 +01:00
reuk
7981957f50
Docs: Fix typo in juce_Component.h 2025-09-10 10:49:40 +01:00
reuk
7bc7dff6f6
iOS: Fix screen size detection in plugins
initWithWindowScene appears to create a window with no area if the
provided scene is null. As a fallback, creating a window without an
associated scene still returns usable bounds.
2025-09-02 13:46:01 +01:00
reuk
7a2d7ad013
Slider: Fix typo in docs 2025-09-01 23:33:43 +01:00
reuk
fdaf71b50f
PopupMenu: Fix some issues with positioning of initially-visible items
The old implementation had a few problems:

- For a target area near but not touching the bottom of the parent area,
  and a long menu with an initially-visible item halfway through the
  list, the initially-visible item would sometimes be obscured by the
  scroller area. The new implementation adjusts the size of the menu to
  ensure that there's enough additional room for the scroller areas.
- For a target area at the very top or very bottom of the target area,
  the menu would be positioned inconsistently; sometimes it would
  overlap with the target area, but other times it would be positioned
  with a gap separating the menu and target area. In the new
  implementation, if there's not enough room for scrollers to be
  positioned above/below the target area, the menu will always be
  positioned so that it touches but does not overlap the target area.
- The initially-selected item would normally be
  positioned as close as possible to the target area, but this wasn't
  always applied consistently for long menus, and the menu would
  sometimes only be scrolled enough to make the item visible at the end
  of the menu furthest from the target area. In the new implementation,
  the initially-visible item will always be positioned on top of the
  target area, or adjacent to it, depending on the available space.
2025-09-01 23:33:43 +01:00
reuk
d929adc9e8
PopupMenu: Change argument type to optional
Negative wantedY arguments are valid, so we need to be able to
differentiate between an unspecified argument and a
specified-but-negative argument.
2025-09-01 23:33:43 +01:00
reuk
78a93157de
PopupMenu: Remove unused function argument 2025-09-01 23:33:43 +01:00
reuk
edfa87801c
PopupMenu: Extract implementation of ensureItemComponentIsVisible into static function
This makes it a bit easier to see exactly which PopupMenu state is used
during the calculation, and enforces that no menu state is modified
during the call.
2025-09-01 23:33:43 +01:00
reuk
90abc8c1c5
PopupMenu: Clarify behaviour of withItemThatMustBeVisible() in docs 2025-09-01 23:33:42 +01:00
reuk
d2cb90cded
PopupMenu: Simplify expressions in ensureItemComponentIsVisible() 2025-09-01 23:33:42 +01:00
reuk
41a6ed37e4
PopupMenu: Use early return in ensureItemComponentIsVisible() 2025-09-01 23:33:42 +01:00
reuk
9b226f93f4
PopupMenu: Replace raw loop with find_if 2025-09-01 23:33:42 +01:00
reuk
33a735dfd8
Android: Avoid restarting activities on system-wide theme change 2025-09-01 15:51:30 +01:00
Tom Poole
cb9ec7e38f Bump version number to 8.0.9 2025-09-01 14:44:25 +01:00
reuk
a37b35ad15
D2D: Avoid crashing when attempting to create a vblank dispatcher on a headless system 2025-08-27 18:09:23 +01:00
Oliver James
fa6fa9a61a
Linux: Implement support for extra mouse buttons 2025-08-13 15:38:21 +01:00
Oliver James
c01bf65d3f
MacOS: Implement support for extra mouse buttons 2025-08-13 15:38:18 +01:00
Oli
d390db8eef
Windows: Implement support for extra mouse buttons 2025-08-13 15:38:14 +01:00
Oli
df99869d23
ModifierKeys: Add support for back and forward mouse buttons 2025-08-13 15:38:10 +01:00
Oli
8741f900e7 TooltipWindow: Enable by-char breaking for the tooltip text 2025-08-13 14:20:20 +01:00
attila
b95ede49ff Fix calling FileListComponent::setSelectedFile after DirectoryContentsList::setDirectory
Prior to this fix calling setDirectory and then setSelectedFile from the
same call stack could cause setSelectedFile to have no effect. This was
because the directory change is asynchronously propagated from the
DirectoryContentsList. This was picked up by the FileListComponent as a
directory change after setSelectedFile, even though the directory change
happened before.
2025-08-13 12:45:41 +01:00
reuk
b272f968aa
NativeMessageBox (iOS): Delay lookup of focused peer
Before 2c5b1fbb6f, we only queried
currentlyFocusedPeer during runAsync(), instead of reading it
immediately. The behaviour after that commit prevented message boxes
from showing if showMessageBoxAsync() was called before any peer had
been created.
2025-07-30 11:22:09 +01:00
reuk
1c2eb2d056
Android: Refactor lifecycle callbacks to reduce repetition in lifecycle listener registration 2025-07-29 15:04:15 +01:00
reuk
11752d061f
Android: Refactor to use inline statics 2025-07-28 13:41:52 +01:00
attila
242405323e ComboBox: Fix accessibility navigation when the PopupMenu has a parent component
With the PopupMenu creating its own window the focus would return to the
ComboBox after activating a menu item. Prior to this commit however the
focus was seemingly lost after menu item activation. With this change
the focus returns to the ComboBox in both cases.
2025-07-28 14:28:49 +02:00
attila
b674a4c130 Tidying: Change misleading variable name 2025-07-25 20:45:17 +02:00
attila
8f30ba70cc Tidying 2025-07-25 20:42:41 +02:00
attila
79ded8c1f3 PopupMenu: Fix accessibility issue where ticked items couldn't be pressed
The issue became manifest in c51b331318.
In our implementation the toggle action takes precedence over the press
action, making the latter unreachable when the Item is in a checkable
state. Calling isTicked (true) turns the Item into a checkable object.
The onToggle implementation however didn't interact with the isTicked
state, and it didn't fire the press action either. This made the item
non-interactable with screen readers once it got into a ticked state.
2025-07-25 20:42:41 +02:00
reuk
6212a4c81f
Android: Add an assertion to check that app style is only modified on the main thread 2025-07-22 15:24:52 +01:00
reuk
e627d0b66f
Desktop: Add a note about screen rotation to the docs for screen insets 2025-07-22 15:23:15 +01:00