1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-02-05 03:50:07 +00:00
Commit graph

1528 commits

Author SHA1 Message Date
reuk
141b2d64cc
X11: Remove isStandaloneApp check 2025-12-16 12:03:35 +00:00
reuk
254e03a435
Windows: Use ComSmartPtr to manage FileDropTarget 2025-12-16 12:03:35 +00:00
reuk
57c739c444
Windows: Remove isStandaloneApp checks 2025-12-16 12:03:35 +00:00
reuk
3f13cdb314
HWNDComponentPeer: Add setBoundsPhysical() method to set window size in physical pixels 2025-12-16 12:03:35 +00:00
reuk
82cc2ab282
Windows: Fix target version preprocessor definition
This now matches the definition in juce_BasicNativeHeaders.h
2025-12-16 12:03:35 +00:00
reuk
1237b34c84
Windowing: Avoid dynamically loading GetSystemMetricsForDpi, which is always present on Windows 10 2025-12-16 12:03:35 +00:00
reuk
5048d359e5
Windowing: Avoid dynamically loading EnableNonClientDpiScaling, which is always present on Windows 10 2025-12-16 12:03:35 +00:00
reuk
e2a1af48e5
Windowing: Avoid dynamically loading GetWindowDpiAwarenessContext, which is always present on Windows 10 2025-12-16 12:03:35 +00:00
reuk
f34de2438c
Windowing: Avoid dynamically loading GetAwarenessFromDpiAwarenessContext, which is always present on Windows 10 2025-12-16 12:03:35 +00:00
reuk
ad95f9d88c
Windowing: Avoid dynamically loading GetThreadDpiAwarnessContext, which is always present on Windows 10 2025-12-16 12:03:34 +00:00
reuk
016cf341bf
Windowing: Avoid dynamically loading SetThreadDpiAwarenessContext, which is always present on Windows 10 2025-12-16 12:03:34 +00:00
reuk
2591068b61
Windowing: Avoid dynamically loading GetProcessDpiAwareness, which is always present on Windows 8.1 2025-12-16 12:03:34 +00:00
reuk
f1d215f014
Windowing: Avoid dynamically loading SetProcessDpiAwareness, which is always present on Windows 8.1 2025-12-16 12:03:34 +00:00
reuk
09ae83a367
Windowing: Avoid dynamically loading SetProcessDpiAwarenessContext, which is always present on Windows 10 2025-12-16 12:03:34 +00:00
reuk
63410e78e7
Windowing: Avoid dynamically loading GetDpiForMonitor, which is always present on Windows 8.1 2025-12-16 12:03:34 +00:00
reuk
b4749b1f86
Windowing: Avoid dynamically loading SetProcessDPIAware, which is always present on Vista 2025-12-16 12:03:34 +00:00
reuk
2261575b00
Windowing: Avoid dynamically loading GetDpiForWindow, which is always present on Windows 10 2025-12-16 12:03:34 +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
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
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
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
reuk
f5dc5c3956
Android: Fix crash when deleting peer on touch event 2025-10-21 19:09:47 +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
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
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
33a735dfd8
Android: Avoid restarting activities on system-wide theme change 2025-09-01 15:51:30 +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
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
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
1e1e5036fb
Android: Fix bug where system bars could incorrectly become opaque after adding/removing desktop components
This bug could be observed in the DemoRunner:
- Enable "button" navigation mode (as opposed to "gesture" mode) on the
  Android device.
- Remove the line enabling kiosk mode, build and install the DemoRunner.
- Run the app and navigate to the Settings pane. Open a menu, or the
  bluetooth MIDI dialog window, then close the popup window.
- Rotate the device.

Previously, the steps above could result in the system painting its own
backgrounds behind the system bars. With this patch in place, we reset
the requested system UI colours and transparency, which seems to
maintain the desired appearance.
2025-07-22 15:18:12 +01:00
attila
07a7c04d54 Android: Include Component enabled state in AccessibilityNodeInfo.setEnabled
A recent change made disabled components traversable by default when
using a screen reader. This change makes TalkBack report such components
as disabled.
2025-07-10 13:51:12 +02:00