X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/faa9a600f4ee45757039be01acb0865d1bbae957..f775771ab47cb5528f2a82389c170fc9bd467d27:/src/motif/dcclient.cpp diff --git a/src/motif/dcclient.cpp b/src/motif/dcclient.cpp index ee4e22a33a..a04811cc5c 100644 --- a/src/motif/dcclient.cpp +++ b/src/motif/dcclient.cpp @@ -46,6 +46,7 @@ #include "wx/dcmemory.h" #include "wx/math.h" #include "wx/image.h" + #include "wx/dcclient.h" #endif #ifdef __VMS__ @@ -1735,7 +1736,9 @@ void wxWindowDCImpl::SetPen( const wxPen &pen ) pixel = m_backgroundPixel; else { - pixel = CalculatePixel(m_pen.GetColour(), m_currentColour, false); + wxColour penClr = m_pen.GetColour(); + pixel = CalculatePixel( penClr, m_currentColour, false); + m_pen.SetColour(penClr); } // Finally, set the GC to the required colour @@ -1897,7 +1900,9 @@ void wxWindowDCImpl::SetBrush( const wxBrush &brush ) // must test m_logicalFunction, because it involves background! if (!sameColour || !GET_OPTIMIZATION || m_logicalFunction == wxXOR) { - WXPixel pixel = CalculatePixel(m_brush.GetColour(), m_currentColour, true); + wxColour brushClr = m_brush.GetColour(); + WXPixel pixel = CalculatePixel( brushClr, m_currentColour, true); + m_brush.SetColour(brushClr); if (pixel > -1) SetForegroundPixelWithLogicalFunction(pixel); @@ -2098,7 +2103,7 @@ void wxWindowDCImpl::DoSetClippingRegion( wxCoord x, wxCoord y, } } -void wxWindowDCImpl::DoSetClippingRegionAsRegion( const wxRegion& region ) +void wxWindowDCImpl::DoSetDeviceClippingRegion( const wxRegion& region ) { SetDCClipping(region.GetX11Region()); @@ -2109,10 +2114,10 @@ void wxWindowDCImpl::DoSetClippingRegionAsRegion( const wxRegion& region ) wxRect box = region.GetBox(); XRectangle rects[1]; - rects[0].x = (short)XLOG2DEV_2(box.x); - rects[0].y = (short)YLOG2DEV_2(box.y); - rects[0].width = (unsigned short)XLOG2DEVREL(box.width); - rects[0].height = (unsigned short)YLOG2DEVREL(box.height); + rects[0].x = (short)box.x; + rects[0].y = (short)box.y; + rects[0].width = (unsigned short)box.width; + rects[0].height = (unsigned short)box.height; XSetClipRectangles((Display*) m_display, (GC) m_gcBacking, 0, 0, rects, 1, Unsorted); }