X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e766c8a9ad51ecf73e8f1641992f1007ee9e5e0a..c59ceaaaf01d67955a114609adb692372fd18f6c:/src/mac/carbon/dcclient.cpp?ds=sidebyside diff --git a/src/mac/carbon/dcclient.cpp b/src/mac/carbon/dcclient.cpp index 99ee68a0fb..efb55b34c0 100644 --- a/src/mac/carbon/dcclient.cpp +++ b/src/mac/carbon/dcclient.cpp @@ -39,7 +39,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxPaintDC, wxWindowDC) * wxWindowDC */ -#include +#include "wx/mac/uma.h" wxWindowDC::wxWindowDC() { @@ -51,8 +51,10 @@ wxWindowDC::wxWindowDC(wxWindow *the_canvas) wxWindowMac* rootwindow ; // this time it is really the full window - - the_canvas->MacGetPortParams(&m_macLocalOrigin, &m_macClipRect , &windowref , &rootwindow ); + Rect clipRect ; + the_canvas->MacGetPortParams(&m_macLocalOrigin, &clipRect , &windowref , &rootwindow ); + SetRectRgn( m_macBoundaryClipRgn , clipRect.left , clipRect.top , clipRect.right , clipRect.bottom ) ; + CopyRgn( m_macBoundaryClipRgn , m_macCurrentClipRgn ) ; m_macPort = UMAGetWindowPort( windowref ) ; m_minY = m_minX = 0; wxSize size = the_canvas->GetSize() ; @@ -80,7 +82,10 @@ wxClientDC::wxClientDC(wxWindow *window) WindowRef windowref ; wxWindowMac* rootwindow ; - window->MacGetPortClientParams(&m_macLocalOrigin, &m_macClipRect , &windowref , &rootwindow ); + Rect clipRect ; + window->MacGetPortClientParams(&m_macLocalOrigin, &clipRect , &windowref , &rootwindow ); + SetRectRgn( m_macBoundaryClipRgn , clipRect.left , clipRect.top , clipRect.right , clipRect.bottom ) ; + CopyRgn( m_macBoundaryClipRgn , m_macCurrentClipRgn ) ; m_macPort = UMAGetWindowPort( windowref ) ; m_minY = m_minX = 0; wxSize size = window->GetSize() ; @@ -108,8 +113,10 @@ wxPaintDC::wxPaintDC(wxWindow *window) WindowRef windowref ; wxWindowMac* rootwindow ; - window->MacGetPortClientParams(&m_macLocalOrigin, &m_macClipRect , &windowref , &rootwindow ); - + Rect clipRect ; + window->MacGetPortClientParams(&m_macLocalOrigin, &clipRect , &windowref , &rootwindow ); + CopyRgn( window->GetUpdateRegion().GetWXHRGN() , m_macBoundaryClipRgn ) ; + CopyRgn( m_macBoundaryClipRgn , m_macCurrentClipRgn ) ; m_macPort = UMAGetWindowPort( windowref ) ; m_ok = TRUE ; /*