reuk
831c5142a4
Windows: Refactor WindowsBitmapData to expose updateLayeredWindow
2024-08-22 18:18:16 +01:00
reuk
328ad60d9e
Windows: Move definition of GDI window snapshot function
2024-08-22 18:18:16 +01:00
reuk
b90498d79b
Windows: Always use WS_POPUP style for windows without a native titlebar or shadow
...
If we don't do this, the top corners of the window may have unwanted
clipping applied, making the corners appear rounded.
2024-08-22 18:18:16 +01:00
reuk
afaf97fe16
Windows: Update minimise and maximise window flags
...
The docs for WS_MINIMIZEBOX and WS_MAXIMIZEBOX specify that WS_SYSMENU must be specified.
The docs for WS_SYSMENU specify that WS_CAPTION must be specified.
2024-08-22 18:18:16 +01:00
reuk
e9f2a94d62
Windows: Use new client rect helper in implementation of getScreenPosition()
2024-08-22 18:18:16 +01:00
reuk
4a76872f54
Windows: Add helper to find client rect in screen coordinates
2024-08-22 18:18:16 +01:00
reuk
570fd4b65c
Direct2D: Track UpdateRegions in D2DContext rather than the Direct2DHwndContext
2024-08-22 18:18:15 +01:00
reuk
f0f77db261
Direct2D: Share more implementation headers between modules
2024-08-22 18:18:14 +01:00
reuk
19aade443a
Windows: Fix bug where plugins with additional top-level windows could fail to repaint after changing the display config
2024-08-22 18:18:14 +01:00
reuk
d0e9eea164
Windows: Remove mousewheel hook
...
From Windows 10 onwards, the window under the mouse will receive
WM_MOUSEWHEEL messages regardless of focus state, so this hook appears
to be unnecessary.
2024-08-22 17:35:18 +01:00
reuk
77bf765fcf
Windows: Avoid sending mousewheel events to obscured windows
2024-08-22 17:35:18 +01:00
reuk
1f024f9c08
NativeMessageBox: Remove support for legacy message boxes
...
Now that JUCE supports only Windows 10 onwards, TaskDialogIndirect will
always be available.
2024-08-22 17:35:17 +01:00
reuk
a9e04c1a1e
NativeMessageBox: Fix result codes for Windows legacy message boxes
2024-08-22 17:35:17 +01:00
reuk
49dc20db6e
ComboBox: Update accessibility handler to expose combo box title
2024-08-22 17:35:16 +01:00
attila
d7d8155da9
Fix some doxygen issues
2024-08-22 17:05:03 +02:00
attila
9ad70308a8
Replace usage of deprecated type std::aligned_storage_t
2024-08-15 11:15:15 +02:00
attila
5ce2fc388e
Fix C++23 compilation
2024-08-15 11:15:15 +02:00
Anthony Nicholls
b77249ad52
ScopedDisplayLink: Ignore deprecation warning in macOS 15.0 SDK
2024-08-14 15:35:50 +00:00
Anthony Nicholls
10cf5a98a2
macOS: Use ScreenCaptureKit for taking window screenshots
...
- Required when the deployment target is macOS 15+
- As the ScreenCaptureKit framework isn't available on all supported versions
of Xcode it's dynamically loaded
2024-08-14 15:35:50 +00:00
Anthony Nicholls
e9b3fc8714
FocusHelpers: Reduce code nesting
2024-08-01 16:10:09 +00:00
Anthony Nicholls
dc0dde7fe9
FocusTraverser: Make more things const
2024-08-01 16:10:09 +00:00
Anthony Nicholls
9f3666e3e1
UnitTests: Reduce the stack size of the KeyboardFocusTraverser tests
2024-08-01 16:10:09 +00:00
reuk
a891f0054c
Windows: Allow constrained resize for windows that are not marked as resizable
2024-07-31 19:36:52 +01:00
reuk
3da5a3c9bd
ResizableWindow: Set resizable flag only when desktop does not support native nonclient resize
2024-07-31 19:36:52 +01:00
reuk
0ffe5948a5
Windows: Fix issue where maximised windows with non-native titlebars could slightly exceed the screen bounds
...
When handling WM_NCCALCSIZE, we reduce the size of the client area when
the window is maximised. If we don't do this, then the client area
matches the top-level window area, which is larger than the display's
safe area. As a result, the window appears too large, and the edges are
obscured under the edges of the display.
After reducing the client area in WM_NCCALCSIZE, the client area is no
longer equal to the top-level window area, so getBounds() must be
updated to return the window's *client* area rather than the top-level
window area.
2024-07-31 19:36:52 +01:00
reuk
63eb8c5692
Windows: Remove unused functions
2024-07-31 19:36:52 +01:00
reuk
d7bfecae28
Windows: Avoid changing window size after display settings change
...
Previously, a 'system info' change could cause the window size to
change, which was unexpected.
2024-07-31 19:36:51 +01:00
attila
fb670d209b
Windows: Throttle VBlankThread when the display is off
...
When the display goes to sleep IDXGIOutput::WaitForVBlank returns S_OK
immediately causing the VBlankThread to consume a core entirely with the
VBlank related messaging.
To limit this problem, we use the same technique as Chromium presently
does, and we sleep for 1 ms, if the time between the last two VBlank
events was less than a ms. This limits the VBlankThread messaging rate
of about 50.000/s on an Intel 13600 to 1000/s.
2024-07-31 18:15:54 +02:00
reuk
4c5c336e65
Windowing: Re-enable rounded corners on Windows 11
2024-07-29 16:12:00 +01:00
reuk
9817a2bb66
Windowing: Allow window to keep repainting when mouse is held in caption area
2024-07-29 16:12:00 +01:00
reuk
ce7bafcfcb
Windowing: Reduce size of RenderContext interface
2024-07-29 16:12:00 +01:00
reuk
14f3751a06
Windowing: Fix issues with window border rendering/positioning
2024-07-29 16:12:00 +01:00
reuk
a43a69241c
Windowing: Ensure modifier key state is updated after clicking on window caption
...
Without this change, the mouse state was not always updated after
releasing the mouse, leaving the current modifier keys with the
left-mouse-button bit set. This was particularly evident in standalone
plugins, where clicking the 'options' button in the titlebar, then
immediately clicking the titlebar could "stick" the window to the mouse,
making it impossible to interact with the window normally.
2024-07-29 16:11:59 +01:00
reuk
664bc242b2
Windowing: Only begin mouse tracking for movement in the client area
2024-07-29 16:11:59 +01:00
reuk
eca3e074e5
Windowing: Respect modal state and enablement for native titlebar buttons
2024-07-29 16:11:59 +01:00
reuk
f26cce5a46
Windowing: Fix missing Close titlebar button
...
Prior to this change, windows such as the "Audio/MIDI Settings" window
for standalong plugins had no close button in the titlebar.
2024-07-29 16:11:59 +01:00
reuk
467f20a7a1
Reapply "Windows: Use new window hit-testing API to implement Windows window-management features like Aero Snap"
...
This reverts commit 086e2264895fa40059c451603abd491fb41f4558.
2024-07-29 16:11:59 +01:00
Tom Poole
fc0fd3042f
Bump version number to 8.0.1
2024-07-29 12:43:19 +01:00
reuk
a858f91354
Platform: Remove deprecated code paths that will never be called
2024-07-03 14:50:08 +01:00
reuk
b89553ae2c
Platform: Remove build-time Apple SDK availability checks
2024-07-03 13:50:08 +01:00
reuk
5c1b75cab7
Platform: Remove compatibility checks for Windows 8.1 and earlier
2024-07-03 13:47:06 +01:00
reuk
8ba2dc2ae2
Platform: Remove compatibility checks for Android 20 and earlier
2024-07-03 13:45:37 +01:00
reuk
a59d010f99
Platform: Remove compatibility checks for iOS 12
2024-07-02 18:13:59 +01:00
reuk
5391032238
Platform: Remove compatibility checks for iOS 11
2024-07-02 18:06:28 +01:00
reuk
6428f43eeb
Platform: Remove compatibility checks for iOS 10
2024-07-02 18:06:28 +01:00
reuk
e71ebb3407
Platform: Remove compatibility checks for macOS 10.11
2024-07-02 18:06:28 +01:00
reuk
8ac7bfc9ca
Platform: Remove compatibility checks for macOS 10.10
2024-07-02 18:06:27 +01:00
reuk
6d4bf60330
Platform: Remove compatibility checks for macOS 10.9
2024-07-02 18:06:27 +01:00
reuk
da8c5fdcb4
Platform: Remove compatibility checks for macOS 10.8
2024-07-02 18:06:27 +01:00
reuk
9112911122
MinGW: Remove support
2024-06-27 18:10:21 +01:00