]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/region.cpp
Fixed and refactored wxPropertyGridManager decsription text box painting
[wxWidgets.git] / src / gtk1 / region.cpp
index acad6e5f64bc112960366c008621daf6f6939959..ab656a06db245776325af8876ae3f514524f50a2 100644 (file)
@@ -49,7 +49,7 @@ private:
 // wxRegionRefData: private class containing the information about the region
 // ----------------------------------------------------------------------------
 
-class wxRegionRefData : public wxObjectRefData
+class wxRegionRefData : public wxGDIRefData
 {
 public:
     wxRegionRefData()
@@ -58,7 +58,7 @@ public:
     }
 
     wxRegionRefData(const wxRegionRefData& refData)
-        : wxObjectRefData()
+        : wxGDIRefData()
     {
         m_region = gdk_regions_union(wxGdkRegion(), refData.m_region);
     }
@@ -107,7 +107,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++ )
@@ -136,12 +136,12 @@ wxRegion::~wxRegion()
     // m_refData unrefed in ~wxObject
 }
 
-wxObjectRefData *wxRegion::CreateRefData() const
+wxGDIRefData *wxRegion::CreateGDIRefData() const
 {
     return new wxRegionRefData;
 }
 
-wxObjectRefData *wxRegion::CloneRefData(const wxObjectRefData *data) const
+wxGDIRefData *wxRegion::CloneGDIRefData(const wxGDIRefData *data) const
 {
     return new wxRegionRefData(*(wxRegionRefData *)data);
 }
@@ -187,7 +187,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;
@@ -353,7 +355,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;
 }
@@ -380,7 +382,7 @@ struct _XRegion {
 };
 
 
-class wxRIRefData: public wxObjectRefData
+class wxRIRefData : public wxGDIRefData
 {
 public:
     wxRIRefData() { Init(); }