1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
JUCE/modules/juce_gui_basics
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
..
accessibility Update licensing information 2024-04-16 11:39:35 +01:00
application Update licensing information 2024-04-16 11:39:35 +01:00
buttons LookAndFeel: Allow specifying a default typeface metrics kind to use 2024-04-18 14:16:00 +01:00
commands Update licensing information 2024-04-16 11:39:35 +01:00
components Component: Add API for window-control hit-testing 2024-05-31 11:43:30 +01:00
desktop Animation: Add juce_animation module 2024-04-16 17:43:21 +01:00
detail ComponentHelpers: Refactor clipObscuredRegions 2024-05-20 12:49:55 +01:00
drawables LookAndFeel: Allow specifying a default typeface metrics kind to use 2024-04-18 14:16:00 +01:00
filebrowser LookAndFeel: Allow specifying a default typeface metrics kind to use 2024-04-18 14:16:00 +01:00
keyboard Update licensing information 2024-04-16 11:39:35 +01:00
layout Animation: Add juce_animation module 2024-04-16 17:43:21 +01:00
lookandfeel LookAndFeel: Make portable typeface metrics the default 2024-04-18 14:16:00 +01:00
menus Update licensing information 2024-04-16 11:39:35 +01:00
misc Projucer: Remove the JUCE splash screen and update licensing 2024-04-16 17:43:19 +01:00
mouse Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
native Direct2D: Fix flickery resizing when using an internal resizer 2024-05-31 11:43:30 +01:00
positioning Update licensing information 2024-04-16 11:39:35 +01:00
properties Update licensing information 2024-04-16 11:39:35 +01:00
widgets LookAndFeel: Allow specifying a default typeface metrics kind to use 2024-04-18 14:16:00 +01:00
windows ComponentPeer: Fix typo in name of internal windowRepaintedExplicitly enum 2024-05-31 11:43:30 +01:00
juce_gui_basics.cpp Windows: Use new window hit-testing API to implement Windows window-management features like Aero Snap 2024-05-31 11:43:30 +01:00
juce_gui_basics.h Bump version number to 8.0.0 2024-04-16 17:43:20 +01:00
juce_gui_basics.mm Update licensing information 2024-04-16 11:39:35 +01:00