]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/regiong.cpp
Made wxWindow::HasScrollbar() do what it says.
[wxWidgets.git] / src / generic / regiong.cpp
index a60937a63c62aaefc3c523603e1a3dd76c25bc27..6c358e10addc16dc402a3b6266b2e01015342a84 100644 (file)
@@ -176,12 +176,12 @@ protected:
 // wxRegionRefData
 // ========================================================================
 
-class wxRegionRefData : public wxObjectRefData,
+class wxRegionRefData : public wxGDIRefData,
                         public REGION
 {
 public:
     wxRegionRefData()
-        : wxObjectRefData(),
+        : wxGDIRefData(),
           REGION()
     {
         size = 1;
@@ -194,7 +194,7 @@ public:
     }
 
     wxRegionRefData(const wxPoint& topLeft, const wxPoint& bottomRight)
-        : wxObjectRefData(),
+        : wxGDIRefData(),
           REGION()
     {
         rects = (BOX*)malloc(sizeof(BOX));
@@ -208,7 +208,7 @@ public:
     }
 
     wxRegionRefData(const wxRect& rect)
-        : wxObjectRefData(),
+        : wxGDIRefData(),
           REGION(rect)
     {
         rects = (BOX*)malloc(sizeof(BOX));
@@ -216,7 +216,7 @@ public:
     }
 
     wxRegionRefData(const wxRegionRefData& refData)
-        : wxObjectRefData(),
+        : wxGDIRefData(),
           REGION()
     {
         size = refData.size;
@@ -271,17 +271,34 @@ wxRegionGeneric::wxRegionGeneric(const wxPoint& topLeft, const wxPoint& bottomRi
     m_refData = new wxRegionRefData(topLeft, bottomRight);
 }
 
+wxRegionGeneric::wxRegionGeneric(const wxBitmap& bmp) 
+{
+    wxFAIL_MSG("NOT IMPLEMENTED: wxRegionGeneric::wxRegionGeneric(const wxBitmap& bmp)");
+}
+
+wxRegionGeneric::wxRegionGeneric(size_t n, const wxPoint *points, wxPolygonFillMode fillStyle)
+{
+    wxFAIL_MSG("NOT IMPLEMENTED: wxRegionGeneric::wxRegionGeneric(size_t n, const wxPoint *points, wxPolygonFillMode fillStyle)");
+}
+
+wxRegionGeneric::wxRegionGeneric(const wxBitmap& bmp, const wxColour& transp, int tolerance)
+{
+    wxFAIL_MSG("NOT IMPLEMENTED: wxRegionGeneric::wxRegionGeneric(const wxBitmap& bmp, const wxColour& transp, int tolerance)");
+}
+
 void wxRegionGeneric::Clear()
 {
     UnRef();
+    if (!m_refData)
+        m_refData = new wxRegionRefData(wxRect(0,0,0,0));
 }
 
-wxObjectRefData *wxRegionGeneric::CreateRefData() const
+wxGDIRefData *wxRegionGeneric::CreateGDIRefData() const
 {
     return new wxRegionRefData;
 }
 
-wxObjectRefData *wxRegionGeneric::CloneRefData(const wxObjectRefData *data) const
+wxGDIRefData *wxRegionGeneric::CloneGDIRefData(const wxGDIRefData *data) const
 {
     return new wxRegionRefData(*(wxRegionRefData *)data);
 }
@@ -322,19 +339,19 @@ bool wxRegionGeneric::DoUnionWithRect(const wxRect& rect)
     return REGION::XUnionRegion(&region,M_REGIONDATA,M_REGIONDATA);
 }
 
-bool wxRegionGeneric::DoUnionWithRegion(const wxRegionGeneric& region)
+bool wxRegionGeneric::DoUnionWithRegion(const wxRegion& region)
 {
     AllocExclusive();
     return REGION::XUnionRegion(M_REGIONDATA_OF(region),M_REGIONDATA,M_REGIONDATA);
 }
 
-bool wxRegionGeneric::DoIntersect(const wxRegionGeneric& region)
+bool wxRegionGeneric::DoIntersect(const wxRegion& region)
 {
     AllocExclusive();
     return REGION::XIntersectRegion(M_REGIONDATA_OF(region),M_REGIONDATA,M_REGIONDATA);
 }
 
-bool wxRegionGeneric::DoSubtract(const wxRegionGeneric& region)
+bool wxRegionGeneric::DoSubtract(const wxRegion& region)
 {
     if ( region.IsEmpty() )
     {
@@ -345,7 +362,7 @@ bool wxRegionGeneric::DoSubtract(const wxRegionGeneric& region)
     return REGION::XSubtractRegion(M_REGIONDATA_OF(region),M_REGIONDATA,M_REGIONDATA);
 }
 
-bool wxRegionGeneric::DoXor(const wxRegionGeneric& region)
+bool wxRegionGeneric::DoXor(const wxRegion& region)
 {
     AllocExclusive();
     return REGION::XXorRegion(M_REGIONDATA_OF(region),M_REGIONDATA,M_REGIONDATA);
@@ -368,7 +385,7 @@ bool wxRegionGeneric::IsEmpty() const
 }
 
 // Does the region contain the point (x,y)?
-wxRegionContain wxRegionGeneric::DoContainsPoint(long x, long y) const
+wxRegionContain wxRegionGeneric::DoContainsPoint(wxCoord x, wxCoord y) const
 {
     wxASSERT(m_refData);
     return REGION::XPointInRegion(M_REGIONDATA,x,y) ? wxInRegion : wxOutRegion;