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/native
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 ComSmartPtr: Make ownership more explicit 2024-04-16 21:07:45 +01:00
java/app/com/rmsl/juce Update licensing information 2024-04-16 11:39:35 +01:00
javaopt/app/com/rmsl/juce Update licensing information 2024-04-16 11:39:35 +01:00
juce_CGMetalLayerRenderer_mac.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_ContentSharer_android.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_ContentSharer_ios.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_DragAndDrop_linux.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_DragAndDrop_windows.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_FileChooser_android.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_FileChooser_ios.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_FileChooser_linux.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_FileChooser_mac.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_FileChooser_windows.cpp ComSmartPtr: Make ownership more explicit 2024-04-16 21:07:45 +01:00
juce_MainMenu_mac.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_MouseCursor_mac.mm MouseCursor: Fix argument order in call to dictionaryWithObjectsAndKeys 2024-04-16 21:07:44 +01:00
juce_MultiTouchMapper.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_NativeMessageBox_android.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_NativeMessageBox_ios.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_NativeMessageBox_linux.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_NativeMessageBox_mac.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_NativeMessageBox_windows.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_NativeModalWrapperComponent_ios.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_NSViewComponentPeer_mac.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_PerScreenDisplayLinks_mac.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_ScopedDPIAwarenessDisabler.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_ScopedDPIAwarenessDisabler.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_ScopedThreadDPIAwarenessSetter_windows.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_ScopedWindowAssociation_linux.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_UIViewComponentPeer_ios.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_VBlank_windows.cpp Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
juce_Windowing_android.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_Windowing_ios.mm iOS: Allow multiple instances of ScopedJuceInitialiser_GUI 2024-04-16 21:07:46 +01:00
juce_Windowing_linux.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_Windowing_mac.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_Windowing_windows.cpp Direct2D: Fix flickery resizing when using an internal resizer 2024-05-31 11:43:30 +01:00
juce_WindowsHooks_windows.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowsHooks_windows.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowUtils_android.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowUtils_ios.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowUtils_linux.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowUtils_mac.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowUtils_windows.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_XSymbols_linux.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_XSymbols_linux.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_XWindowSystem_linux.cpp Linux: Make ComponentPeer::getCurrentModifiersRealtime() update shift and ctrl modifiers 2024-04-16 17:43:21 +01:00
juce_XWindowSystem_linux.h Update licensing information 2024-04-16 11:39:35 +01:00