// wxRegionRefData: private class containing the information about the region
// ----------------------------------------------------------------------------
-class wxRegionRefData : public wxObjectRefData
+class wxRegionRefData : public wxGDIRefData
{
public:
wxRegionRefData()
}
wxRegionRefData(const wxRegionRefData& refData)
- : wxObjectRefData()
+ : wxGDIRefData()
{
m_region = gdk_regions_union(wxGdkRegion(), refData.m_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++ )
// 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);
}
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;
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)
{
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)
{
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)
{
GdkRegion *wxRegion::GetRegion() const
{
if (!m_refData)
- return (GdkRegion*) NULL;
+ return NULL;
return M_REGIONDATA->m_region;
}
};
-class wxRIRefData: public wxObjectRefData
+class wxRIRefData : public wxGDIRefData
{
public:
wxRIRefData() { Init(); }
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;
}