]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/region.h
support SDK < 10.6, fixes #14902
[wxWidgets.git] / include / wx / region.h
index 236531650f7fe9ff1ba63e5b7787f81ea4cf2486..c81d1cddaf0e6e89a9efa760dff2157e5c2bac22 100644 (file)
 #ifndef _WX_REGION_H_BASE_
 #define _WX_REGION_H_BASE_
 
 #ifndef _WX_REGION_H_BASE_
 #define _WX_REGION_H_BASE_
 
-#include "wx/bitmap.h"
 #include "wx/gdiobj.h"
 #include "wx/gdicmn.h"
 
 #include "wx/gdiobj.h"
 #include "wx/gdicmn.h"
 
-class WXDLLEXPORT wxColour;
-class WXDLLEXPORT wxRegion;
+class WXDLLIMPEXP_FWD_CORE wxBitmap;
+class WXDLLIMPEXP_FWD_CORE wxColour;
+class WXDLLIMPEXP_FWD_CORE wxRegion;
 
 // ----------------------------------------------------------------------------
 // constants
 
 // ----------------------------------------------------------------------------
 // constants
@@ -55,7 +55,7 @@ enum wxRegionOp
 // wxRegionBase defines wxRegion API
 // ----------------------------------------------------------------------------
 
 // wxRegionBase defines wxRegion API
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxRegionBase : public wxGDIObject
+class WXDLLIMPEXP_CORE wxRegionBase : public wxGDIObject
 {
 public:
     // ctors
 {
 public:
     // ctors
@@ -67,7 +67,7 @@ public:
     wxRegion(wxCoord x, wxCoord y, wxCoord w, wxCoord h);
     wxRegion(const wxPoint& topLeft, const wxPoint& bottomRight);
     wxRegion(const wxRect& rect);
     wxRegion(wxCoord x, wxCoord y, wxCoord w, wxCoord h);
     wxRegion(const wxPoint& topLeft, const wxPoint& bottomRight);
     wxRegion(const wxRect& rect);
-    wxRegion(size_t n, const wxPoint *points, int fillStyle = wxODDEVEN_RULE);
+    wxRegion(size_t n, const wxPoint *points, wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
     wxRegion(const wxBitmap& bmp);
     wxRegion(const wxBitmap& bmp, const wxColour& transp, int tolerance = 0);
 #endif // 0
     wxRegion(const wxBitmap& bmp);
     wxRegion(const wxBitmap& bmp, const wxColour& transp, int tolerance = 0);
 #endif // 0
@@ -82,9 +82,6 @@ public:
     // accessors
     // ---------
 
     // accessors
     // ---------
 
-    bool Ok() const { return IsOk(); }
-    bool IsOk() const { return m_refData != NULL; }
-
     // Is region empty?
     virtual bool IsEmpty() const = 0;
     bool Empty() const { return IsEmpty(); }
     // Is region empty?
     virtual bool IsEmpty() const = 0;
     bool Empty() const { return IsEmpty(); }
@@ -184,14 +181,13 @@ protected:
 // some ports implement a generic Combine() function while others only
 // implement individual wxRegion operations, factor out the common code for the
 // ports with Combine() in this class
 // some ports implement a generic Combine() function while others only
 // implement individual wxRegion operations, factor out the common code for the
 // ports with Combine() in this class
-#if defined(__WXPALMOS__) || \
-    defined(__WXMSW__) || \
-    defined(__WXMAC__) || \
+#if defined(__WXMSW__) || \
+    ( defined(__WXMAC__) && wxOSX_USE_COCOA_OR_CARBON ) || \
     defined(__WXPM__)
 
 #define wxHAS_REGION_COMBINE
 
     defined(__WXPM__)
 
 #define wxHAS_REGION_COMBINE
 
-class WXDLLEXPORT wxRegionWithCombine : public wxRegionBase
+class WXDLLIMPEXP_CORE wxRegionWithCombine : public wxRegionBase
 {
 public:
     // these methods are not part of public API as they're not implemented on
 {
 public:
     // these methods are not part of public API as they're not implemented on
@@ -207,24 +203,16 @@ protected:
     virtual bool DoCombine(const wxRegion& region, wxRegionOp op) = 0;
 
     // implement some wxRegionBase pure virtuals in terms of Combine()
     virtual bool DoCombine(const wxRegion& region, wxRegionOp op) = 0;
 
     // implement some wxRegionBase pure virtuals in terms of Combine()
-    virtual bool DoUnionWithRect(const wxRect& rect)
-        { return Combine(rect, wxRGN_OR); }
-    virtual bool DoUnionWithRegion(const wxRegion& region)
-        { return Combine(region, wxRGN_OR); }
-
-    virtual bool DoIntersect(const wxRegion& region)
-        { return Combine(region, wxRGN_AND); }
-    virtual bool DoSubtract(const wxRegion& region)
-        { return Combine(region, wxRGN_DIFF); }
-    virtual bool DoXor(const wxRegion& region)
-        { return Combine(region, wxRGN_XOR); }
+    virtual bool DoUnionWithRect(const wxRect& rect);
+    virtual bool DoUnionWithRegion(const wxRegion& region);
+    virtual bool DoIntersect(const wxRegion& region);
+    virtual bool DoSubtract(const wxRegion& region);
+    virtual bool DoXor(const wxRegion& region);
 };
 
 #endif // ports with wxRegion::Combine()
 
 };
 
 #endif // ports with wxRegion::Combine()
 
-#if defined(__WXPALMOS__)
-    #include "wx/palmos/region.h"
-#elif defined(__WXMSW__)
+#if defined(__WXMSW__)
     #include "wx/msw/region.h"
 #elif defined(__WXGTK20__)
     #include "wx/gtk/region.h"
     #include "wx/msw/region.h"
 #elif defined(__WXGTK20__)
     #include "wx/gtk/region.h"
@@ -232,12 +220,10 @@ protected:
     #include "wx/gtk1/region.h"
 #elif defined(__WXMOTIF__) || defined(__WXX11__)
     #include "wx/x11/region.h"
     #include "wx/gtk1/region.h"
 #elif defined(__WXMOTIF__) || defined(__WXX11__)
     #include "wx/x11/region.h"
-#elif defined(__WXMGL__)
-    #include "wx/mgl/region.h"
 #elif defined(__WXDFB__)
     #include "wx/dfb/region.h"
 #elif defined(__WXMAC__)
 #elif defined(__WXDFB__)
     #include "wx/dfb/region.h"
 #elif defined(__WXMAC__)
-    #include "wx/mac/region.h"
+    #include "wx/osx/region.h"
 #elif defined(__WXCOCOA__)
     #include "wx/cocoa/region.h"
 #elif defined(__WXPM__)
 #elif defined(__WXCOCOA__)
     #include "wx/cocoa/region.h"
 #elif defined(__WXPM__)