diff --git a/include/wx/mac/carbon/region.h b/include/wx/mac/carbon/region.h index 923a0014ad..dfac421db5 100644 --- a/include/wx/mac/carbon/region.h +++ b/include/wx/mac/carbon/region.h @@ -69,6 +69,9 @@ public: // Clear current region void Clear(); + // Move the region + bool Offset(wxCoord x, wxCoord y); + // Union rectangle or region with this. bool Union(long x, long y, long width, long height) { return Combine(x, y, width, height, wxRGN_OR); } diff --git a/src/mac/carbon/region.cpp b/src/mac/carbon/region.cpp index c1ef0182d4..aefaa80693 100644 --- a/src/mac/carbon/region.cpp +++ b/src/mac/carbon/region.cpp @@ -128,6 +128,22 @@ void wxRegion::Clear() UnRef(); } +// Move the region +bool wxRegion::Offset(wxCoord x, wxCoord y) +{ + wxCHECK_MSG( M_REGION, false, _T("invalid wxRegion") ); + + if ( !x && !y ) + { + // nothing to do + return true; + } + + OffsetRgn( M_REGION , x , y ) ; + return true ; +} + + //! Combine rectangle (x, y, w, h) with this. bool wxRegion::Combine(long x, long y, long width, long height, wxRegionOp op) {