reuk
258203706c
Direct2D: Use WM_PAINT and vblank callbacks to drive painting
2025-12-17 18:05:46 +00:00
reuk
22ae5baa42
Direct2D: Remove SwapChainThread completely
...
D2D repaints are always driven by a vblank timer, and D2D presentation
can't happen any faster than the vblank callbacks, so I think it's safe
to remove the swapchain machinery and to rely entirely on the vblank
callbacks instead.
2025-12-17 18:05:46 +00:00
reuk
65206568c4
HWNDComponentPeer: Remove dispatchDeferredRepaints()
2025-12-17 17:44:17 +00:00
reuk
8eea88dec3
Direct2DHwndContext: Remove unnecessary prefixes
2025-12-17 16:22:39 +00:00
reuk
b4c28db765
ComponentPeer: Add method for overriding native scale factor
2025-12-16 12:23:58 +00:00
reuk
6648e13fa6
X11: Ignore ConfigureNotify events containing stale information
2025-12-16 12:03:35 +00:00
reuk
89d019b5da
X11: Load XNextRequest function
2025-12-16 12:03:35 +00:00
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