Revert "Store clipping box coordinates in device units in wxWindowDCImpl, wxGTKDCImpl"

This reverts commit 95f1b262a4 ("Store clipping box coordinates in
device units in wxWindowDCImpl, wxGTKDCImpl", 2021-07-26) because
device coordinates can be used to determine final clipping box
coordinates more accurately only if current logical coordinates
are not stored directly in the corresponding variables of the base
class wxDCImpl.
This commit is contained in:
Artur Wieczorek
2021-07-27 17:25:29 +02:00
parent eb055dba71
commit ea04c72754
2 changed files with 7 additions and 6 deletions

View File

@@ -619,7 +619,7 @@ void wxGTKDCImpl::DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCo
wxASSERT_MSG( width >= 0 && height >= 0,
"Clipping box size values cannot be negative" );
wxRect newRegion(LogicalToDevice(x, y), LogicalToDeviceRel(width, height));
wxRect newRegion(x, y, width, height);
wxRect clipRegion;
if ( m_clipping )
@@ -635,7 +635,8 @@ void wxGTKDCImpl::DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCo
// of required clipping box and DC surface.
int dcWidth, dcHeight;
DoGetSize(&dcWidth, &dcHeight);
wxRect dcRect(0, 0, dcWidth, dcHeight);
wxRect dcRect(DeviceToLogicalX(0), DeviceToLogicalY(0),
DeviceToLogicalXRel(dcWidth), DeviceToLogicalYRel(dcHeight));
clipRegion = dcRect.Intersect(newRegion);
m_clipping = true;

View File

@@ -1919,10 +1919,10 @@ void wxWindowDCImpl::UpdateClipBox()
}
else
{
m_clipX1 = r.GetLeft();
m_clipY1 = r.GetTop();
m_clipX2 = r.GetRight() + 1;
m_clipY2 = r.GetBottom() + 1;
m_clipX1 = DeviceToLogicalX(r.GetLeft());
m_clipY1 = DeviceToLogicalY(r.GetTop());
m_clipX2 = m_clipX1 + DeviceToLogicalXRel(r.GetWidth());
m_clipY2 = m_clipY1 + DeviceToLogicalYRel(r.GetHeight());
}
m_isClipBoxValid = true;
}