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

3406 commits

Author SHA1 Message Date
Tom Poole
acc4b9c6d0 Bump version number to 8.0.12 2025-12-16 08:48:49 +00:00
Aga Janowicz
195795047e
DrawableText: 0-initialise fontHeight and fontHScale variables 2025-12-08 17:19:57 +00:00
reuk
1b0911dda6
iOS: Always update peer bounds when window scene coordinate space is updated 2025-12-08 14:19:45 +00:00
reuk
4d1c9c9b12
AccessibilityHelpers: Move function definition out of header 2025-12-08 14:15:55 +00:00
Tom Poole
ae3b811c50 Bump version number to 8.0.11 2025-12-01 10:21:13 +00:00
attila
65e9bf1c52 Fix bug where a disabled ComboBox could be displayed using screen readers 2025-11-26 10:17:06 +01:00
attila
07f801143c Fix bug where a disabled ToggleButton could be toggled using screen readers 2025-11-26 10:17:06 +01:00
Anthony Nicholls
10ec977d05 Component: Revert improvements to opaque component checks
Reverts commits cea19a9d, 961ff32b, and partially reverts 5ec4d85d
Some issues have appeared on the forums so these commits have been
reverted while the issue is investigated.
2025-11-20 17:47:47 +00:00
reuk
e3f3d32fe6
UIViewComponentPeer: Remove rootViewController from old window before adding it to new window
This fixes an issue where the view would disappear and the window would
become black when the window scene changed, e.g. because screen sharing
was started.
2025-11-19 14:09:52 +00:00
attila
a9779b4546 OpenGL: Fix missing buffered image after context detach
Prior to this commit a Component with setBufferedToImage (true) could
have its image buffer deleted when an OpenGL context was detached. This
meant that this Component continued to be rendered without buffering
even though it was previously requested that it use a buffer.
2025-11-19 14:07:59 +01:00
reuk
83e5264c86
Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
reuk
82dc6d1c7e
Windows: Fix a bug where windows with non-native titlebars could be maximised to the wrong size
This issue presented after the following sequence of steps:

- Display a window with a non-native titlebar
- Maximise it
- Click the taskbar icon to minimise it
- Click the taskbar icon again to maximise it

After being maximised for the second time, the window bounds were too
large for the display. This is because the check in WM_NCCALCSIZE was
failing to determine the target monitor for the window, and therefore
failing to adjust the new area appropriately. We now determine the
target monitor based on the proposed new bounds of the new window,
rather than the current bounds of the window, which may not be
meaningful if the window is minimised.
2025-11-17 19:33:54 +00:00
Anthony Nicholls
2efd3e0661 Component: Prevent unnecessary image clearing in createComponentSnapshot 2025-11-10 22:37:39 +00:00
Anthony Nicholls
cea19a9d12 Component: Fix an issue calculating the relative bounds of opaque components
For top level components the relative bounds of a child opaque
component would be wrong unless the top level component was at 0,0
2025-11-10 22:37:39 +00:00
Tom Poole
79053759a5 iOS: Fix a crash selecting files in iOS 12 and 13 2025-11-05 15:59:52 +00:00
reuk
514718e037
UIViewComponentPeer: Fix bug where onscreen keyboard would fail to follow view orientation
The important part seems to be initialising the UIWindow directly with
the UIWindowScene, instead of initialising it with a frame and then
assigning a scene later on.
2025-11-04 14:18:19 +00:00
reuk
d66ca542b8
UIViewComponentPeer: Avoid sending unnecessary UIWindowScene change notifications 2025-11-04 14:18:19 +00:00
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