X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a16d7370e3cdc7d583a6f14ab11b3a1d27b73df..3571e1add4e6ceb45ad88c224c432609f837a8dd:/src/gtk1/region.cpp?ds=sidebyside diff --git a/src/gtk1/region.cpp b/src/gtk1/region.cpp index acad6e5f64..d128d9f973 100644 --- a/src/gtk1/region.cpp +++ b/src/gtk1/region.cpp @@ -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; @@ -217,7 +219,7 @@ bool wxRegion::DoUnionWithRegion( const wxRegion& region ) bool wxRegion::DoIntersect( const wxRegion& region ) { - wxCHECK_MSG( region.Ok(), false, _T("invalid region") ); + wxCHECK_MSG( region.Ok(), false, wxT("invalid region") ); if (!m_refData) { @@ -236,7 +238,7 @@ bool wxRegion::DoIntersect( const wxRegion& region ) bool wxRegion::DoSubtract( const wxRegion& region ) { - wxCHECK_MSG( region.Ok(), false, _T("invalid region") ); + wxCHECK_MSG( region.Ok(), false, wxT("invalid region") ); if (!m_refData) { @@ -255,7 +257,7 @@ bool wxRegion::DoSubtract( const wxRegion& region ) bool wxRegion::DoXor( const wxRegion& region ) { - wxCHECK_MSG( region.Ok(), false, _T("invalid region") ); + wxCHECK_MSG( region.Ok(), false, wxT("invalid region") ); if (!m_refData) { @@ -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(); } @@ -472,28 +474,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; }