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

3371 commits

Author SHA1 Message Date
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