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

3241 commits

Author SHA1 Message Date
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
reuk
515e9b9f89 Windowing: Avoid recursively calling WM_NCHITTEST in contains() 2024-06-26 14:33:25 +01:00
reuk
225f1526ee
Component: Avoid creating ModalComponentManager unnecessarily 2024-06-20 17:52:23 +01:00
reuk
a904aa592f
DocumentWindow: Allow custom titlebar controls to respond to mouse
Prior to this change, the 'options' button in the StandaloneFilterWindow
border did not respond to mouse clicks on Windows.
2024-06-12 19:16:32 +01:00
Tom Poole
05b036272a Fix some Doxygen docstrings 2024-06-12 09:35:32 +01:00
attila
b5cbdfd980 ResizableWindow: Fix window becoming non-resizable when a constrainer is added
This is fixing a regression in f764026626.
2024-06-11 20:49:56 +02:00
reuk
182dd84e59
Slider: Avoid updating internal Value when old and new values are both NaN
Without this change in place, setting the Value to NaN can cause a stack
overflow because the old and new values always compare unequal, causing
new change notifications to be sent.
2024-06-11 11:34:05 +01:00
reuk
e8b38b8922
Revert "Windows: Use new window hit-testing API to implement Windows window-management features like Aero Snap"
This reverts commit adc63cecb1.

Reverting this commit is only a temporary measure to facilitate a stable
release of JUCE 8. Further work on this feature will continue on
develop, and will likely be included in a future release of JUCE 8.
2024-06-11 11:34:04 +01:00
reuk
f764026626
ResizableWindow: Disable resizing border for desktop windows 2024-05-31 11:43:30 +01:00
reuk
659de5842f
Direct2D: Fix flickery resizing when using an internal resizer
Resizing using window manager functionality (e.g. clicking and dragging
in the non-client area) will send WM_SIZING to the window, which in turn
will enable continuous repainting in the D2D renderer until the resize
operation ends.

Continuous repainting is required in order for the window to display
correctly during the resize. Without continuous repainting, some frames
may not be completely painted, and may display with black areas,
producing a flickery effect.

When a resize is controlled entirely by the client, e.g. using the
corner resizer in the AudioPluginDemo standalone, WM_SIZING is never
posted. Instead, we assume that if the window has captured the cursor
during a setBounds call then it is probably resizing. We enable
continuous repainting in this case, and stop repainting once the window
releases the mouse.

An alternative appropach would be to add some kind of start/stop resize
API to ComponentPeer. I'm currently reluctant to do that because the
ComponentPeer API is already so large.
2024-05-31 11:43:30 +01:00
reuk
adc63cecb1
Windows: Use new window hit-testing API to implement Windows window-management features like Aero Snap 2024-05-31 11:43:30 +01:00
reuk
bb47c6c99a
ComponentPeer: Fix typo in name of internal windowRepaintedExplicitly enum 2024-05-31 11:43:30 +01:00
reuk
edd5745d7f
DocumentWindow: Implement window hit-testing API 2024-05-31 11:43:30 +01:00
reuk
9a91ae2ab6
Component: Add API for window-control hit-testing 2024-05-31 11:43:30 +01:00
reuk
8a09ac37cb
ResizableWindow: Always set resizable flag, regardless of whether the window has a title bar 2024-05-31 11:43:29 +01:00
reuk
4201b76d15
ResizableWindow: Add const to virtual members 2024-05-31 11:43:29 +01:00
reuk
e12a1a75ac
ResizableWindow: Always recreate desktop window when updating resizability
Windows without titlebars may now be resizable, and therefore must be
recreated if resizing is enabled/disabled.
2024-05-31 11:43:29 +01:00
reuk
d7788100d5
ModalComponentManager: Remove friendship with Component
This change makes it slightly easier to audit invariants of
ModalComponentManager, as we can now be certain that only member
functions of ModalComponentManager can access its data members.
2024-05-31 11:43:28 +01:00
reuk
2ca5fdf18d
Direct2D: Avoid continuous repainting when moving but not resizing windows 2024-05-28 11:28:51 +01:00
reuk
592df26ff0
ComponentHelpers: Refactor clipObscuredRegions 2024-05-20 12:49:55 +01:00
reuk
631b2ea2ba
Component: Cache effect images internally to Component, to avoid hash collisions in the ImageCache 2024-05-20 12:49:54 +01:00
reuk
c0d0c1f9c6
VirtualDesktopManager: Avoid caching COM object which might be invalidated if COM is uninitialised and reinitialised 2024-05-20 12:48:11 +01:00
reuk
aeeb06ccb9
SafePointer: Avoid potential double-deletes
deleteAndZero now behaves more like unique_ptr::reset, which sets the
new stored value before freeing the old one.
2024-05-20 12:48:11 +01:00
reuk
83dcaf3c39
Build: Fix Windows DLL build, which requires inheriting publicly from AsyncUpdater 2024-05-08 15:37:22 +01:00
reuk
73588879a4
D2D: Revert StandardCachedComponentImage 2024-04-29 16:08:24 +01:00
reuk
c2d86693ff
D2D: Avoid calling setPhysicalPixelScaleFactor 2024-04-29 16:08:23 +01:00
reuk
e005a41d6b
D2D: Remove unnecessary scaling in HwndPimpl::setSize 2024-04-29 16:08:23 +01:00
reuk
49dec0a32a
D2D: Apply physical scale factor inside startFrame 2024-04-29 16:08:23 +01:00
reuk
19061e6d17
Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
reuk
b1861dc25c
VBlank: Avoid hogging the message queue with repaint messages when repaints take longer than a vblank period 2024-04-18 14:16:02 +01:00
reuk
03b1e918fe
LookAndFeel: Make portable typeface metrics the default 2024-04-18 14:16:00 +01:00