]> git.saurik.com Git - wxWidgets.git/commitdiff
benefit from 10.5+ call HIShapeUnionWithRect
authorStefan Csomor <csomor@advancedconcepts.ch>
Thu, 20 Dec 2012 13:00:42 +0000 (13:00 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Thu, 20 Dec 2012 13:00:42 +0000 (13:00 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/osx/carbon/region.h
src/osx/carbon/region.cpp

index 685c39de66936fff01f8f45aa30e1f23dadffb87..eec9be0037ec614fba75c3b56fb41dfbb0f8de98 100644 (file)
@@ -55,6 +55,7 @@ protected:
 
     virtual bool DoOffset(wxCoord x, wxCoord y);
     virtual bool DoCombine(const wxRegion& region, wxRegionOp op);
+    virtual bool DoUnionWithRect(const wxRect& rect);
 
 private:
     DECLARE_DYNAMIC_CLASS(wxRegion)
index 38191093670efa56e21802fa66e6958a79d50506..28e78cf999f2bfb251f0426426713d801f6e6405 100644 (file)
@@ -169,6 +169,21 @@ bool wxRegion::DoOffset(wxCoord x, wxCoord y)
     return true ;
 }
 
+bool wxRegion::DoUnionWithRect(const wxRect& rect)
+{
+    if ( !m_refData )
+    {
+        m_refData = new wxRegionRefData(rect.x , rect.y , rect.width , rect.height);
+        return true;
+    }
+    
+    AllocExclusive();
+    
+    CGRect r = CGRectMake(rect.x , rect.y , rect.width , rect.height);
+    HIShapeUnionWithRect(M_REGION , &r);
+    
+    return true;
+}
 
 //! Union /e region with this.
 bool wxRegion::DoCombine(const wxRegion& region, wxRegionOp op)