]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/region.cpp
toolbar support in all orientations
[wxWidgets.git] / src / osx / carbon / region.cpp
index 8a4b131db884e5d3d6cc5d7257bd28c1205410e9..36e322147a97f6b16970459a048969ab7eb2ed25 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// File:      src/mac/carbon/region.cpp
+// File:      src/osx/carbon/region.cpp
 // Purpose:   Region class
 // Author:    Stefan Csomor
 // Created:   Fri Oct 24 10:46:34 MET 1997
@@ -10,6 +10,8 @@
 
 #include "wx/wxprec.h"
 
+#if wxOSX_USE_COCOA_OR_CARBON
+
 #include "wx/region.h"
 
 #ifndef WX_PRECOMP
@@ -101,7 +103,7 @@ wxRegion::wxRegion(size_t n, const wxPoint *points, wxPolygonFillMode WXUNUSED(f
     wxUnusedVar(n);
     wxUnusedVar(points);
 
-#if 0 
+#if 0
     // no non-QD APIs available
     // TODO : remove ?
     // OS X somehow does not collect the region invisibly as before, so sometimes things
@@ -139,7 +141,7 @@ wxRegion::wxRegion(size_t n, const wxPoint *points, wxPolygonFillMode WXUNUSED(f
 
         RgnHandle tempRgn = NewRgn();
         CloseRgn( tempRgn ) ;
+
         ::SetGWorld( oldWorld, oldGDHandle );
         wxCFRef<HIShapeRef> tempShape( HIShapeCreateWithQDRgn(tempRgn ) );
         m_refData = new wxRegionRefData(tempShape);
@@ -286,7 +288,7 @@ bool wxRegion::IsEmpty() const
         return true ;
 }
 
-const WXHRGN wxRegion::GetWXHRGN() const
+WXHRGN wxRegion::GetWXHRGN() const
 {
     return M_REGION ;
 }
@@ -301,7 +303,7 @@ wxRegionContain wxRegion::DoContainsPoint(wxCoord x, wxCoord y) const
     if (!m_refData)
         return wxOutRegion;
 
-    CGPoint p = { y , x } ;
+    CGPoint p = { x, y } ;
     if (HIShapeContainsPoint( M_REGION , &p ) )
         return wxInRegion;
 
@@ -344,11 +346,7 @@ wxRegionIterator::wxRegionIterator()
 
 wxRegionIterator::~wxRegionIterator()
 {
-    if (m_rects)
-    {
-        delete [] m_rects;
-        m_rects = NULL;
-    }
+    wxDELETEA(m_rects);
 }
 
 wxRegionIterator::wxRegionIterator(const wxRegionIterator& iterator)
@@ -373,11 +371,7 @@ wxRegionIterator& wxRegionIterator::operator=(const wxRegionIterator& iterator)
  */
 void wxRegionIterator::SetRects(long numRects, wxRect *rects)
 {
-    if (m_rects)
-    {
-        delete [] m_rects;
-        m_rects = NULL;
-    }
+    wxDELETEA(m_rects);
 
     if (rects && (numRects > 0))
     {
@@ -481,11 +475,7 @@ void wxRegionIterator::Reset(const wxRegion& region)
     m_current = 0;
     m_region = region;
 
-    if (m_rects)
-    {
-        delete [] m_rects;
-        m_rects = NULL;
-    }
+    wxDELETEA(m_rects);
 
     if (m_region.IsEmpty())
     {
@@ -504,7 +494,7 @@ void wxRegionIterator::Reset(const wxRegion& region)
 #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
         if ( HIShapeEnumerate != NULL )
         {
-            OSStatus err = HIShapeEnumerate (OTHER_M_REGION(region), kHIShapeParseFromTopLeft, wxOSXRegionToRectsCounterCallback, 
+            OSStatus err = HIShapeEnumerate (OTHER_M_REGION(region), kHIShapeParseFromTopLeft, wxOSXRegionToRectsCounterCallback,
                 (void*)&m_numRects);
             if (err == noErr)
             {
@@ -512,7 +502,7 @@ void wxRegionIterator::Reset(const wxRegion& region)
                 RegionToRectsCallbackData data ;
                 data.m_rects = m_rects ;
                 data.m_current = 0 ;
-                HIShapeEnumerate( OTHER_M_REGION(region), kHIShapeParseFromTopLeft, wxOSXRegionToRectsSetterCallback, 
+                HIShapeEnumerate( OTHER_M_REGION(region), kHIShapeParseFromTopLeft, wxOSXRegionToRectsSetterCallback,
                     (void*)&data );
             }
             else
@@ -536,7 +526,7 @@ void wxRegionIterator::Reset(const wxRegion& region)
                 RegionToRectsCallbackData data ;
                 data.m_rects = m_rects ;
                 data.m_current = 0 ;
-                QDRegionToRects( rgn , kQDParseRegionFromTopLeft, wxMacRegionToRectsSetterCallback, 
+                QDRegionToRects( rgn , kQDParseRegionFromTopLeft, wxMacRegionToRectsSetterCallback,
                     (void*)&data );
             }
             else
@@ -606,3 +596,5 @@ long wxRegionIterator::GetH() const
 
     return 0;
 }
+
+#endif