+        self.this = gdic.new_wxImageList(*_args,**_kwargs)
+        self.thisown = 1
+
+
+
+
+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 = gdic.wxRegion_Clear(self, *_args, **_kwargs)
+        return val
+    def Offset(self, *_args, **_kwargs):
+        val = gdic.wxRegion_Offset(self, *_args, **_kwargs)
+        return val
+    def Contains(self, *_args, **_kwargs):
+        val = gdic.wxRegion_Contains(self, *_args, **_kwargs)
+        return val
+    def ContainsPoint(self, *_args, **_kwargs):
+        val = gdic.wxRegion_ContainsPoint(self, *_args, **_kwargs)
+        return val
+    def ContainsRect(self, *_args, **_kwargs):
+        val = gdic.wxRegion_ContainsRect(self, *_args, **_kwargs)
+        return val
+    def ContainsRectDim(self, *_args, **_kwargs):
+        val = gdic.wxRegion_ContainsRectDim(self, *_args, **_kwargs)
+        return val
+    def GetBox(self, *_args, **_kwargs):
+        val = gdic.wxRegion_GetBox(self, *_args, **_kwargs)
+        if val: val = wxRectPtr(val) ; val.thisown = 1
+        return val
+    def Intersect(self, *_args, **_kwargs):
+        val = gdic.wxRegion_Intersect(self, *_args, **_kwargs)
+        return val
+    def IntersectRect(self, *_args, **_kwargs):
+        val = gdic.wxRegion_IntersectRect(self, *_args, **_kwargs)
+        return val
+    def IntersectRegion(self, *_args, **_kwargs):
+        val = gdic.wxRegion_IntersectRegion(self, *_args, **_kwargs)
+        return val
+    def IsEmpty(self, *_args, **_kwargs):
+        val = gdic.wxRegion_IsEmpty(self, *_args, **_kwargs)
+        return val
+    def Union(self, *_args, **_kwargs):
+        val = gdic.wxRegion_Union(self, *_args, **_kwargs)
+        return val
+    def UnionRect(self, *_args, **_kwargs):
+        val = gdic.wxRegion_UnionRect(self, *_args, **_kwargs)
+        return val
+    def UnionRegion(self, *_args, **_kwargs):
+        val = gdic.wxRegion_UnionRegion(self, *_args, **_kwargs)
+        return val
+    def Subtract(self, *_args, **_kwargs):
+        val = gdic.wxRegion_Subtract(self, *_args, **_kwargs)
+        return val
+    def SubtractRect(self, *_args, **_kwargs):
+        val = gdic.wxRegion_SubtractRect(self, *_args, **_kwargs)
+        return val
+    def SubtractRegion(self, *_args, **_kwargs):
+        val = gdic.wxRegion_SubtractRegion(self, *_args, **_kwargs)
+        return val
+    def Xor(self, *_args, **_kwargs):
+        val = gdic.wxRegion_Xor(self, *_args, **_kwargs)
+        return val
+    def XorRect(self, *_args, **_kwargs):
+        val = gdic.wxRegion_XorRect(self, *_args, **_kwargs)
+        return val
+    def XorRegion(self, *_args, **_kwargs):
+        val = gdic.wxRegion_XorRegion(self, *_args, **_kwargs)
+        return val
+    def ConvertToBitmap(self, *_args, **_kwargs):
+        val = gdic.wxRegion_ConvertToBitmap(self, *_args, **_kwargs)
+        if val: val = wxBitmapPtr(val) ; val.thisown = 1
+        return val
+    def UnionBitmap(self, *_args, **_kwargs):
+        val = gdic.wxRegion_UnionBitmap(self, *_args, **_kwargs)
+        return val
+    def __repr__(self):
+        return "<%s.%s instance; proxy of C++ wxRegion instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this)
+class wxRegion(wxRegionPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = gdic.new_wxRegion(*_args,**_kwargs)
+        self.thisown = 1
+
+
+
+def wxRegionFromPoints(*_args,**_kwargs):
+    val = wxRegionPtr(gdic.new_wxRegionFromPoints(*_args,**_kwargs))
+    val.thisown = 1
+    return val
+
+def wxRegionFromBitmap(*_args,**_kwargs):
+    val = wxRegionPtr(gdic.new_wxRegionFromBitmap(*_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 = gdic.wxRegionIterator_GetX(self, *_args, **_kwargs)
+        return val
+    def GetY(self, *_args, **_kwargs):
+        val = gdic.wxRegionIterator_GetY(self, *_args, **_kwargs)
+        return val
+    def GetW(self, *_args, **_kwargs):
+        val = gdic.wxRegionIterator_GetW(self, *_args, **_kwargs)
+        return val
+    def GetWidth(self, *_args, **_kwargs):
+        val = gdic.wxRegionIterator_GetWidth(self, *_args, **_kwargs)
+        return val
+    def GetH(self, *_args, **_kwargs):
+        val = gdic.wxRegionIterator_GetH(self, *_args, **_kwargs)
+        return val
+    def GetHeight(self, *_args, **_kwargs):
+        val = gdic.wxRegionIterator_GetHeight(self, *_args, **_kwargs)
+        return val
+    def GetRect(self, *_args, **_kwargs):
+        val = gdic.wxRegionIterator_GetRect(self, *_args, **_kwargs)
+        if val: val = wxRectPtr(val) ; val.thisown = 1
+        return val
+    def HaveRects(self, *_args, **_kwargs):
+        val = gdic.wxRegionIterator_HaveRects(self, *_args, **_kwargs)
+        return val
+    def Reset(self, *_args, **_kwargs):
+        val = gdic.wxRegionIterator_Reset(self, *_args, **_kwargs)
+        return val
+    def Next(self, *_args, **_kwargs):
+        val = gdic.wxRegionIterator_Next(self, *_args, **_kwargs)
+        return val
+    def __repr__(self):
+        return "<%s.%s instance; proxy of C++ wxRegionIterator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this)
+class wxRegionIterator(wxRegionIteratorPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = gdic.new_wxRegionIterator(*_args,**_kwargs)