X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ad81651f00edc6f489d9b6a0839d316a964fd521..0fe5e8fea017ecb73f8aaa8ceb745feb269b3f79:/src/mac/region.cpp diff --git a/src/mac/region.cpp b/src/mac/region.cpp index 5c01ddd438..a0204caad5 100644 --- a/src/mac/region.cpp +++ b/src/mac/region.cpp @@ -14,9 +14,12 @@ #include "wx/region.h" #include "wx/gdicmn.h" +#include "wx/mac/uma.h" +#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxRegion, wxGDIObject) IMPLEMENT_DYNAMIC_CLASS(wxRegionIterator, wxObject) +#endif //----------------------------------------------------------------------------- // wxRegionRefData implementation @@ -60,25 +63,25 @@ wxRegion::wxRegion() wxRegion::wxRegion(WXHRGN hRegion ) { m_refData = new wxRegionRefData; - CopyRgn( hRegion , M_REGION ) ; + CopyRgn( (RgnHandle) hRegion , (RgnHandle) M_REGION ) ; } wxRegion::wxRegion(long x, long y, long w, long h) { m_refData = new wxRegionRefData; - SetRectRgn( M_REGION , x , y , x+w , y+h ) ; + SetRectRgn( (RgnHandle) M_REGION , x , y , x+w , y+h ) ; } wxRegion::wxRegion(const wxPoint& topLeft, const wxPoint& bottomRight) { m_refData = new wxRegionRefData; - SetRectRgn( M_REGION , topLeft.x , topLeft.y , bottomRight.x , bottomRight.y ) ; + SetRectRgn( (RgnHandle) M_REGION , topLeft.x , topLeft.y , bottomRight.x , bottomRight.y ) ; } wxRegion::wxRegion(const wxRect& rect) { m_refData = new wxRegionRefData; - SetRectRgn( M_REGION , rect.x , rect.y , rect.x+rect.width , rect.y+rect.height ) ; + SetRectRgn( (RgnHandle) M_REGION , rect.x , rect.y , rect.x+rect.width , rect.y+rect.height ) ; } /*! @@ -191,11 +194,12 @@ bool wxRegion::Combine(const wxRect& rect, wxRegionOp op) //----------------------------------------------------------------------------- // Outer bounds of region -void wxRegion::GetBox(long& x, long& y, long&w, long &h) const +void wxRegion::GetBox(wxCoord& x, wxCoord& y, wxCoord& w, wxCoord& h) const { if (m_refData) { - Rect box = (**M_REGION).rgnBBox ; + Rect box ; + GetRegionBounds( M_REGION , &box ) ; x = box.left ; y = box.top ; w = box.right - box.left ; @@ -209,7 +213,7 @@ void wxRegion::GetBox(long& x, long& y, long&w, long &h) const wxRect wxRegion::GetBox() const { - long x, y, w, h; + wxCoord x, y, w, h; GetBox(x, y, w, h); return wxRect(x, y, w, h); } @@ -329,7 +333,8 @@ void wxRegionIterator::Reset(const wxRegion& region) { // we cannot dissolve it into rects on mac m_rects = new wxRect[1]; - Rect rect = (**OTHER_M_REGION( region )).rgnBBox ; + Rect rect ; + GetRegionBounds( OTHER_M_REGION( region ) , &rect ) ; m_rects[0].x = rect.left; m_rects[0].y = rect.top; m_rects[0].width = rect.right - rect.left;