+class wxRegionPtr(wxGDIObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self, delfunc=gdic.delete_wxRegion):
+        if self.thisown == 1:
+            try:
+                delfunc(self)
+            except:
+                pass
+    def Clear(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Clear,(self,) + _args, _kwargs)
+        return val
+    def Offset(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Offset,(self,) + _args, _kwargs)
+        return val
+    def Contains(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Contains,(self,) + _args, _kwargs)
+        return val
+    def ContainsPoint(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_ContainsPoint,(self,) + _args, _kwargs)
+        return val
+    def ContainsRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_ContainsRect,(self,) + _args, _kwargs)
+        return val
+    def ContainsRectDim(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_ContainsRectDim,(self,) + _args, _kwargs)
+        return val
+    def GetBox(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_GetBox,(self,) + _args, _kwargs)
+        if val: val = wxRectPtr(val) ; val.thisown = 1
+        return val
+    def Intersect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Intersect,(self,) + _args, _kwargs)
+        return val
+    def IntersectRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_IntersectRect,(self,) + _args, _kwargs)
+        return val
+    def IntersectRegion(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_IntersectRegion,(self,) + _args, _kwargs)
+        return val
+    def IsEmpty(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_IsEmpty,(self,) + _args, _kwargs)
+        return val
+    def Union(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Union,(self,) + _args, _kwargs)
+        return val
+    def UnionRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_UnionRect,(self,) + _args, _kwargs)
+        return val
+    def UnionRegion(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_UnionRegion,(self,) + _args, _kwargs)
+        return val
+    def Subtract(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Subtract,(self,) + _args, _kwargs)
+        return val
+    def SubtractRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_SubtractRect,(self,) + _args, _kwargs)
+        return val
+    def SubtractRegion(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_SubtractRegion,(self,) + _args, _kwargs)
+        return val
+    def Xor(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Xor,(self,) + _args, _kwargs)
+        return val
+    def XorRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_XorRect,(self,) + _args, _kwargs)
+        return val
+    def XorRegion(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_XorRegion,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxRegion instance at %s>" % (self.this,)
+class wxRegion(wxRegionPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(gdic.new_wxRegion,_args,_kwargs)
+        self.thisown = 1
+
+
+
+def wxRegionFromPoints(*_args,**_kwargs):
+    val = wxRegionPtr(apply(gdic.new_wxRegionFromPoints,_args,_kwargs))
+    val.thisown = 1
+    return val
+
+
+class wxRegionIteratorPtr(wxObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self, delfunc=gdic.delete_wxRegionIterator):
+        if self.thisown == 1:
+            try:
+                delfunc(self)
+            except:
+                pass
+    def GetX(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetX,(self,) + _args, _kwargs)
+        return val
+    def GetY(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetY,(self,) + _args, _kwargs)
+        return val
+    def GetW(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetW,(self,) + _args, _kwargs)
+        return val
+    def GetWidth(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetWidth,(self,) + _args, _kwargs)
+        return val
+    def GetH(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetH,(self,) + _args, _kwargs)
+        return val
+    def GetHeight(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetHeight,(self,) + _args, _kwargs)
+        return val
+    def GetRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetRect,(self,) + _args, _kwargs)
+        if val: val = wxRectPtr(val) ; val.thisown = 1
+        return val
+    def HaveRects(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_HaveRects,(self,) + _args, _kwargs)
+        return val
+    def Reset(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_Reset,(self,) + _args, _kwargs)
+        return val
+    def Next(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_Next,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxRegionIterator instance at %s>" % (self.this,)
+class wxRegionIterator(wxRegionIteratorPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(gdic.new_wxRegionIterator,_args,_kwargs)
+        self.thisown = 1
+
+
+
+