+//---------------------------------------------------------------------------
+// Regions, etc.
+
+enum wxRegionContain {
+ wxOutRegion, wxPartRegion, wxInRegion
+};
+
+
+class wxRegion {
+public:
+ wxRegion();
+ ~wxRegion();
+
+ void Clear();
+ wxRegionContain Contains(long x, long y);
+ %name(ContainsPoint)wxRegionContain Contains(const wxPoint& pt);
+ %name(ContainsRect)wxRegionContain Contains(const wxRect& rect);
+
+ wxRect GetBox();
+ bool Intersect(const wxRect& rect);
+#ifdef __WXMSW__
+ bool IsEmpty();
+#endif
+ bool Subtract(const wxRect& rect);
+ bool Union(const wxRect& rect);
+ bool Xor(const wxRect& rect);
+};
+
+
+
+class wxRegionIterator {
+public:
+ wxRegionIterator(const wxRegion& region);
+ ~wxRegionIterator();
+
+ long GetX();
+ long GetY();
+ long GetW();
+ long GetWidth();
+ long GetH();
+ long GetHeight();
+ wxRect GetRect();
+ bool HaveRects();
+ void Reset();
+
+ %addmethods {
+ void Next() {
+ (*self) ++;
+ }
+ };
+};
+
+
+