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_graphics/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
..
juce_CoreGraphicsContext_mac.h CoreGraphics: Slightly shrink excluded clip regions in order to draw transformed opaque components without border artefacts 2024-05-20 12:49:55 +01:00
juce_CoreGraphicsContext_mac.mm GraphicsContext: Avoid attempting to paint empty rectangles in all renderers 2024-05-20 12:49:56 +01:00
juce_CoreGraphicsHelpers_mac.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_Direct2DGraphicsContext_windows.cpp Direct2D: Reset pending clip list after setting device space origin 2024-05-28 16:08:55 +01:00
juce_Direct2DGraphicsContext_windows.h D2D: Update Direct2DGraphicsContext::getPhysicalPixelScaleFactor to include context transform for consistency with other renderer backends 2024-04-29 16:08:23 +01:00
juce_Direct2DHelpers_windows.cpp Direct2D: Skip invalid path elements when converting a Path to a Geometry 2024-05-28 16:08:55 +01:00
juce_Direct2DHwndContext_windows.cpp Direct2D: Fix flickery resizing when using an internal resizer 2024-05-31 11:43:30 +01:00
juce_Direct2DHwndContext_windows.h Direct2D: Fix flickery resizing when using an internal resizer 2024-05-31 11:43:30 +01:00
juce_Direct2DImage_windows.cpp D2D: Pass the clearImage flag to the BitmapData backup image 2024-05-10 11:55:28 +01:00
juce_Direct2DImage_windows.h D2D: Add faster two-pass blur implementation 2024-04-29 16:08:24 +01:00
juce_Direct2DImageContext_windows.cpp D2D: Avoid calling setPhysicalPixelScaleFactor 2024-04-29 16:08:23 +01:00
juce_Direct2DImageContext_windows.h Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
juce_Direct2DMetrics_windows.cpp Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
juce_Direct2DMetrics_windows.h Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
juce_Direct2DResources_windows.cpp D2D: Avoid setting DPI when resizing context, as it is already set per-frame 2024-04-29 16:08:23 +01:00
juce_DirectWriteTypeface_windows.cpp DirectWrite: Rework custom font collection loader 2024-05-31 11:43:29 +01:00
juce_DirectX_windows.h D2D: Fix formatting 2024-04-29 16:08:24 +01:00
juce_EventTracing.h Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
juce_Fonts_android.cpp Remove TextLayout::createNativeLayout() 2024-05-30 12:21:35 +01:00
juce_Fonts_freetype.cpp Typeface: Add support for querying the default system UI typeface 2024-04-29 16:08:21 +01:00
juce_Fonts_linux.cpp Remove TextLayout::createNativeLayout() 2024-05-30 12:21:35 +01:00
juce_Fonts_mac.mm Remove TextLayout::createNativeLayout() 2024-05-30 12:21:35 +01:00
juce_GraphicsContext_android.cpp Typeface: Switch to using harfbuzz for computing simple advances on all platforms 2024-04-17 14:41:01 +01:00
juce_IconHelpers_android.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_IconHelpers_linux.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_IconHelpers_mac.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_IconHelpers_windows.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_RenderingHelpers.h GraphicsContext: Avoid attempting to paint empty rectangles in all renderers 2024-05-20 12:49:56 +01:00