From 9e5c3a11529801a60ee0d218b446bc4ca7c79c8c Mon Sep 17 00:00:00 2001 From: Artur Wieczorek Date: Tue, 20 Jul 2021 22:52:18 +0200 Subject: [PATCH] Fix destroying clipping region for wxGCDC with applied affine transformation We need to take into account all aplied transformations (including affine transformations set with SetTransformMatrix()) while resetting clipping box to its initial size. --- src/common/dcgraph.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/common/dcgraph.cpp b/src/common/dcgraph.cpp index 9a34a7c5ea..45c151426b 100644 --- a/src/common/dcgraph.cpp +++ b/src/common/dcgraph.cpp @@ -420,7 +420,9 @@ void wxGCDCImpl::DestroyClippingRegion() #ifdef __WXOSX__ origin = OSXGetOrigin(); #endif - m_graphicContext->Clip( DeviceToLogicalX(origin.x) , DeviceToLogicalY(origin.y) , DeviceToLogicalXRel(width), DeviceToLogicalYRel(height) ); + wxPoint clipOrig = DeviceToLogical(origin.x, origin.y); + wxSize clipDim = DeviceToLogicalRel(width, height); + m_graphicContext->Clip(clipOrig.x, clipOrig.y, clipDim.x, clipDim.y); m_graphicContext->SetPen( m_pen ); m_graphicContext->SetBrush( m_brush );