]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/region.cpp
wxMessageBox off the main thread lost result code.
[wxWidgets.git] / src / gtk1 / region.cpp
index b8f140cb72ffd8c9db625032d01dc28e61dea6ff..978a892cf066a718851520510cf934a064a70f59 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:
 // Author:      Robert Roebling
 // Modified:    VZ at 05.10.00: use AllocExclusive(), comparison fixed
-// Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -107,7 +106,7 @@ wxRegion::wxRegion( GdkRegion *region )
     M_REGIONDATA->m_region = gdk_regions_union(wxGdkRegion(), region);
 }
 
-wxRegion::wxRegion( size_t n, const wxPoint *points, int fillStyle )
+wxRegion::wxRegion( size_t n, const wxPoint *points, wxPolygonFillMode fillStyle )
 {
     GdkPoint *gdkpoints = new GdkPoint[n];
     for ( size_t i = 0 ; i < n ; i++ )
@@ -187,7 +186,9 @@ bool wxRegion::DoUnionWithRect(const wxRect& r)
         rect.width = r.width;
         rect.height = r.height;
 
-        gdk_region_union_with_rect( M_REGIONDATA->m_region, &rect );
+        GdkRegion *reg = gdk_region_union_with_rect( M_REGIONDATA->m_region, &rect );
+        gdk_region_destroy( M_REGIONDATA->m_region );
+        M_REGIONDATA->m_region = reg;
     }
 
     return TRUE;
@@ -217,7 +218,7 @@ bool wxRegion::DoUnionWithRegion( const wxRegion& region )
 
 bool wxRegion::DoIntersect( const wxRegion& region )
 {
-    wxCHECK_MSG( region.Ok(), false, _T("invalid region") );
+    wxCHECK_MSG( region.IsOk(), false, wxT("invalid region") );
 
     if (!m_refData)
     {
@@ -236,7 +237,7 @@ bool wxRegion::DoIntersect( const wxRegion& region )
 
 bool wxRegion::DoSubtract( const wxRegion& region )
 {
-    wxCHECK_MSG( region.Ok(), false, _T("invalid region") );
+    wxCHECK_MSG( region.IsOk(), false, wxT("invalid region") );
 
     if (!m_refData)
     {
@@ -255,7 +256,7 @@ bool wxRegion::DoSubtract( const wxRegion& region )
 
 bool wxRegion::DoXor( const wxRegion& region )
 {
-    wxCHECK_MSG( region.Ok(), false, _T("invalid region") );
+    wxCHECK_MSG( region.IsOk(), false, wxT("invalid region") );
 
     if (!m_refData)
     {
@@ -353,7 +354,7 @@ wxRegionContain wxRegion::DoContainsRect(const wxRect& r) const
 GdkRegion *wxRegion::GetRegion() const
 {
     if (!m_refData)
-        return (GdkRegion*) NULL;
+        return NULL;
 
     return M_REGIONDATA->m_region;
 }
@@ -472,28 +473,28 @@ wxRegionIterator wxRegionIterator::operator ++ (int)
 
 wxCoord wxRegionIterator::GetX() const
 {
-    wxCHECK_MSG( HaveRects(), 0, _T("invalid wxRegionIterator") );
+    wxCHECK_MSG( HaveRects(), 0, wxT("invalid wxRegionIterator") );
 
     return ((wxRIRefData*)m_refData)->m_rects[m_current].x;
 }
 
 wxCoord wxRegionIterator::GetY() const
 {
-    wxCHECK_MSG( HaveRects(), 0, _T("invalid wxRegionIterator") );
+    wxCHECK_MSG( HaveRects(), 0, wxT("invalid wxRegionIterator") );
 
     return ((wxRIRefData*)m_refData)->m_rects[m_current].y;
 }
 
 wxCoord wxRegionIterator::GetW() const
 {
-    wxCHECK_MSG( HaveRects(), 0, _T("invalid wxRegionIterator") );
+    wxCHECK_MSG( HaveRects(), 0, wxT("invalid wxRegionIterator") );
 
     return ((wxRIRefData*)m_refData)->m_rects[m_current].width;
 }
 
 wxCoord wxRegionIterator::GetH() const
 {
-    wxCHECK_MSG( HaveRects(), 0, _T("invalid wxRegionIterator") );
+    wxCHECK_MSG( HaveRects(), 0, wxT("invalid wxRegionIterator") );
 
     return ((wxRIRefData*)m_refData)->m_rects[m_current].height;
 }