]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_gdi.py
buttonbar.cpp/.h must be in GUI_CMN_SRC/HDR as toolbkg.cpp which is in common depends...
[wxWidgets.git] / wxPython / src / msw / _gdi.py
index 7ea539822831af70e77fbefdf7715b4aa77e6ae6..830e4383d7514af25dac05193a95564efb8f7ff5 100644 (file)
@@ -1,18 +1,18 @@
-# This file was created automatically by SWIG.
+# This file was created automatically by SWIG 1.3.29.
 # Don't modify this file, modify the SWIG interface instead.
 
 import _gdi_
 # Don't modify this file, modify the SWIG interface instead.
 
 import _gdi_
-
+import new
+new_instancemethod = new.instancemethod
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
+    if (name == "thisown"): return self.this.own(value)
     if (name == "this"):
     if (name == "this"):
-        if isinstance(value, class_type):
-            self.__dict__[name] = value.this
-            if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown
-            del value.thisown
+        if type(value).__name__ == 'PySwigObject':
+            self.__dict__[name] = value
             return
     method = class_type.__swig_setmethods__.get(name,None)
     if method: return method(self,value)
             return
     method = class_type.__swig_setmethods__.get(name,None)
     if method: return method(self,value)
-    if (not static) or hasattr(self,name) or (name == "thisown"):
+    if (not static) or hasattr(self,name):
         self.__dict__[name] = value
     else:
         raise AttributeError("You cannot add attributes to %s" % self)
         self.__dict__[name] = value
     else:
         raise AttributeError("You cannot add attributes to %s" % self)
@@ -21,10 +21,16 @@ def _swig_setattr(self,class_type,name,value):
     return _swig_setattr_nondynamic(self,class_type,name,value,0)
 
 def _swig_getattr(self,class_type,name):
     return _swig_setattr_nondynamic(self,class_type,name,value,0)
 
 def _swig_getattr(self,class_type,name):
+    if (name == "thisown"): return self.this.own()
     method = class_type.__swig_getmethods__.get(name,None)
     if method: return method(self)
     raise AttributeError,name
 
     method = class_type.__swig_getmethods__.get(name,None)
     if method: return method(self)
     raise AttributeError,name
 
+def _swig_repr(self):
+    try: strthis = "proxy of " + self.this.__repr__()
+    except: strthis = ""
+    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
+
 import types
 try:
     _object = types.ObjectType
 import types
 try:
     _object = types.ObjectType
@@ -37,7 +43,8 @@ del types
 
 def _swig_setattr_nondynamic_method(set):
     def set_attr(self,name,value):
 
 def _swig_setattr_nondynamic_method(set):
     def set_attr(self,name,value):
-        if hasattr(self,name) or (name in ("this", "thisown")):
+        if (name == "thisown"): return self.this.own(value)
+        if hasattr(self,name) or (name == "this"):
             set(self,name,value)
         else:
             raise AttributeError("You cannot add attributes to %s" % self)
             set(self,name,value)
         else:
             raise AttributeError("You cannot add attributes to %s" % self)
@@ -50,39 +57,19 @@ wx = _core
 
 class GDIObject(_core.Object):
     """Proxy of C++ GDIObject class"""
 
 class GDIObject(_core.Object):
     """Proxy of C++ GDIObject class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGDIObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> GDIObject"""
         """__init__(self) -> GDIObject"""
-        newobj = _gdi_.new_GDIObject(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_GDIObject):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
-    def GetVisible(*args, **kwargs):
-        """GetVisible(self) -> bool"""
-        return _gdi_.GDIObject_GetVisible(*args, **kwargs)
-
-    def SetVisible(*args, **kwargs):
-        """SetVisible(self, bool visible)"""
-        return _gdi_.GDIObject_SetVisible(*args, **kwargs)
-
+        _gdi_.GDIObject_swiginit(self,_gdi_.new_GDIObject(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_GDIObject
+    __del__ = lambda self : None;
     def IsNull(*args, **kwargs):
         """IsNull(self) -> bool"""
         return _gdi_.GDIObject_IsNull(*args, **kwargs)
 
     def IsNull(*args, **kwargs):
         """IsNull(self) -> bool"""
         return _gdi_.GDIObject_IsNull(*args, **kwargs)
 
-
-class GDIObjectPtr(GDIObject):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GDIObject
-_gdi_.GDIObject_swigregister(GDIObjectPtr)
+GDIObject_swigregister = _gdi_.GDIObject_swigregister
+GDIObject_swigregister(GDIObject)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -93,13 +80,15 @@ class Colour(_core.Object):
     window colours, etc.  Valid RGB values are in the range 0 to 255.
 
     In wxPython there are typemaps that will automatically convert from a
     window colours, etc.  Valid RGB values are in the range 0 to 255.
 
     In wxPython there are typemaps that will automatically convert from a
-    colour name, or from a '#RRGGBB' colour hex value string to a
-    wx.Colour object when calling C++ methods that expect a wxColour.
-    This means that the following are all equivallent::
+    colour name, from a '#RRGGBB' colour hex value string, or from a 3
+    integer tuple to a wx.Colour object when calling C++ methods that
+    expect a wxColour.  This means that the following are all
+    equivallent::
 
         win.SetBackgroundColour(wxColour(0,0,255))
         win.SetBackgroundColour('BLUE')
         win.SetBackgroundColour('#0000FF')
 
         win.SetBackgroundColour(wxColour(0,0,255))
         win.SetBackgroundColour('BLUE')
         win.SetBackgroundColour('#0000FF')
+        win.SetBackgroundColour((0,0,255))
 
     Additional colour names and their coresponding values can be added
     using `wx.ColourDatabase`.  Various system colours (as set in the
 
     Additional colour names and their coresponding values can be added
     using `wx.ColourDatabase`.  Various system colours (as set in the
@@ -107,9 +96,9 @@ class Colour(_core.Object):
     `wx.SystemSettings.GetColour`.
 
     """
     `wx.SystemSettings.GetColour`.
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxColour instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, byte red=0, byte green=0, byte blue=0) -> Colour
 
         """
         __init__(self, byte red=0, byte green=0, byte blue=0) -> Colour
 
@@ -118,16 +107,9 @@ class Colour(_core.Object):
         :see: Alternate constructors `wx.NamedColour` and `wx.ColourRGB`.
 
         """
         :see: Alternate constructors `wx.NamedColour` and `wx.ColourRGB`.
 
         """
-        newobj = _gdi_.new_Colour(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_Colour):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.Colour_swiginit(self,_gdi_.new_Colour(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Colour
+    __del__ = lambda self : None;
     def Red(*args, **kwargs):
         """
         Red(self) -> byte
     def Red(*args, **kwargs):
         """
         Red(self) -> byte
@@ -198,17 +180,17 @@ class Colour(_core.Object):
 
     def __eq__(*args, **kwargs):
         """
 
     def __eq__(*args, **kwargs):
         """
-        __eq__(self, Colour colour) -> bool
+        __eq__(self, PyObject other) -> bool
 
 
-        Compare colours for equality
+        Compare colours for equality.
         """
         return _gdi_.Colour___eq__(*args, **kwargs)
 
     def __ne__(*args, **kwargs):
         """
         """
         return _gdi_.Colour___eq__(*args, **kwargs)
 
     def __ne__(*args, **kwargs):
         """
-        __ne__(self, Colour colour) -> bool
+        __ne__(self, PyObject other) -> bool
 
 
-        Compare colours for inequality
+        Compare colours for inequality.
         """
         return _gdi_.Colour___ne__(*args, **kwargs)
 
         """
         return _gdi_.Colour___ne__(*args, **kwargs)
 
@@ -235,13 +217,8 @@ class Colour(_core.Object):
     __safe_for_unpickling__ = True
     def __reduce__(self):               return (Colour, self.Get())
 
     __safe_for_unpickling__ = True
     def __reduce__(self):               return (Colour, self.Get())
 
-
-class ColourPtr(Colour):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Colour
-_gdi_.Colour_swigregister(ColourPtr)
+Colour_swigregister = _gdi_.Colour_swigregister
+Colour_swigregister(Colour)
 
 def NamedColour(*args, **kwargs):
     """
 
 def NamedColour(*args, **kwargs):
     """
@@ -251,7 +228,6 @@ def NamedColour(*args, **kwargs):
     ``wx.TheColourDatabase``.
     """
     val = _gdi_.new_NamedColour(*args, **kwargs)
     ``wx.TheColourDatabase``.
     """
     val = _gdi_.new_NamedColour(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def ColourRGB(*args, **kwargs):
     return val
 
 def ColourRGB(*args, **kwargs):
@@ -261,7 +237,6 @@ def ColourRGB(*args, **kwargs):
     Constructs a colour from a packed RGB value.
     """
     val = _gdi_.new_ColourRGB(*args, **kwargs)
     Constructs a colour from a packed RGB value.
     """
     val = _gdi_.new_ColourRGB(*args, **kwargs)
-    val.thisown = 1
     return val
 
 Color = Colour
     return val
 
 Color = Colour
@@ -270,20 +245,13 @@ ColorRGB = ColourRGB
 
 class Palette(GDIObject):
     """Proxy of C++ Palette class"""
 
 class Palette(GDIObject):
     """Proxy of C++ Palette class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPalette instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, int n, unsigned char red, unsigned char green, unsigned char blue) -> Palette"""
         """__init__(self, int n, unsigned char red, unsigned char green, unsigned char blue) -> Palette"""
-        newobj = _gdi_.new_Palette(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_Palette):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.Palette_swiginit(self,_gdi_.new_Palette(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Palette
+    __del__ = lambda self : None;
     def GetPixel(*args, **kwargs):
         """GetPixel(self, byte red, byte green, byte blue) -> int"""
         return _gdi_.Palette_GetPixel(*args, **kwargs)
     def GetPixel(*args, **kwargs):
         """GetPixel(self, byte red, byte green, byte blue) -> int"""
         return _gdi_.Palette_GetPixel(*args, **kwargs)
@@ -301,32 +269,20 @@ class Palette(GDIObject):
         return _gdi_.Palette_Ok(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
         return _gdi_.Palette_Ok(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
-
-class PalettePtr(Palette):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Palette
-_gdi_.Palette_swigregister(PalettePtr)
+Palette_swigregister = _gdi_.Palette_swigregister
+Palette_swigregister(Palette)
 
 #---------------------------------------------------------------------------
 
 class Pen(GDIObject):
     """Proxy of C++ Pen class"""
 
 #---------------------------------------------------------------------------
 
 class Pen(GDIObject):
     """Proxy of C++ Pen class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPen instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, Colour colour, int width=1, int style=SOLID) -> Pen"""
         """__init__(self, Colour colour, int width=1, int style=SOLID) -> Pen"""
-        newobj = _gdi_.new_Pen(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_Pen):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.Pen_swiginit(self,_gdi_.new_Pen(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Pen
+    __del__ = lambda self : None;
     def GetCap(*args, **kwargs):
         """GetCap(self) -> int"""
         return _gdi_.Pen_GetCap(*args, **kwargs)
     def GetCap(*args, **kwargs):
         """GetCap(self) -> int"""
         return _gdi_.Pen_GetCap(*args, **kwargs)
@@ -410,13 +366,8 @@ class Pen(GDIObject):
         return _gdi_.Pen___ne__(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
         return _gdi_.Pen___ne__(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
-
-class PenPtr(Pen):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Pen
-_gdi_.Pen_swigregister(PenPtr)
+Pen_swigregister = _gdi_.Pen_swigregister
+Pen_swigregister(Pen)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -426,24 +377,17 @@ class Brush(GDIObject):
     painting the background of rectangles, ellipses, etc. when drawing on
     a `wx.DC`.  It has a colour and a style.
     """
     painting the background of rectangles, ellipses, etc. when drawing on
     a `wx.DC`.  It has a colour and a style.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBrush instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Colour colour, int style=SOLID) -> Brush
 
         Constructs a brush from a `wx.Colour` object and a style.
         """
         """
         __init__(self, Colour colour, int style=SOLID) -> Brush
 
         Constructs a brush from a `wx.Colour` object and a style.
         """
-        newobj = _gdi_.new_Brush(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_Brush):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.Brush_swiginit(self,_gdi_.new_Brush(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Brush
+    __del__ = lambda self : None;
     def SetColour(*args, **kwargs):
         """
         SetColour(self, Colour col)
     def SetColour(*args, **kwargs):
         """
         SetColour(self, Colour col)
@@ -512,13 +456,8 @@ class Brush(GDIObject):
         return _gdi_.Brush_Ok(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
         return _gdi_.Brush_Ok(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
-
-class BrushPtr(Brush):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Brush
-_gdi_.Brush_swigregister(BrushPtr)
+Brush_swigregister = _gdi_.Brush_swigregister
+Brush_swigregister(Brush)
 
 def BrushFromBitmap(*args, **kwargs):
     """
 
 def BrushFromBitmap(*args, **kwargs):
     """
@@ -527,7 +466,6 @@ def BrushFromBitmap(*args, **kwargs):
     Constructs a stippled brush using a bitmap.
     """
     val = _gdi_.new_BrushFromBitmap(*args, **kwargs)
     Constructs a stippled brush using a bitmap.
     """
     val = _gdi_.new_BrushFromBitmap(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class Bitmap(GDIObject):
     return val
 
 class Bitmap(GDIObject):
@@ -539,24 +477,17 @@ class Bitmap(GDIObject):
     be copied to a window or memory device context using `wx.DC.Blit`, or
     to be used as a drawing surface.
     """
     be copied to a window or memory device context using `wx.DC.Blit`, or
     to be used as a drawing surface.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBitmap instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, String name, int type=BITMAP_TYPE_ANY) -> Bitmap
 
         Loads a bitmap from a file.
         """
         """
         __init__(self, String name, int type=BITMAP_TYPE_ANY) -> Bitmap
 
         Loads a bitmap from a file.
         """
-        newobj = _gdi_.new_Bitmap(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_Bitmap):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.Bitmap_swiginit(self,_gdi_.new_Bitmap(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Bitmap
+    __del__ = lambda self : None;
     def GetHandle(*args, **kwargs):
         """GetHandle(self) -> long"""
         return _gdi_.Bitmap_GetHandle(*args, **kwargs)
     def GetHandle(*args, **kwargs):
         """GetHandle(self) -> long"""
         return _gdi_.Bitmap_GetHandle(*args, **kwargs)
@@ -719,14 +650,6 @@ class Bitmap(GDIObject):
         """CopyFromCursor(self, Cursor cursor) -> bool"""
         return _gdi_.Bitmap_CopyFromCursor(*args, **kwargs)
 
         """CopyFromCursor(self, Cursor cursor) -> bool"""
         return _gdi_.Bitmap_CopyFromCursor(*args, **kwargs)
 
-    def GetQuality(*args, **kwargs):
-        """GetQuality(self) -> int"""
-        return _gdi_.Bitmap_GetQuality(*args, **kwargs)
-
-    def SetQuality(*args, **kwargs):
-        """SetQuality(self, int q)"""
-        return _gdi_.Bitmap_SetQuality(*args, **kwargs)
-
     def __nonzero__(self): return self.Ok() 
     def __eq__(*args, **kwargs):
         """__eq__(self, Bitmap other) -> bool"""
     def __nonzero__(self): return self.Ok() 
     def __eq__(*args, **kwargs):
         """__eq__(self, Bitmap other) -> bool"""
@@ -736,13 +659,8 @@ class Bitmap(GDIObject):
         """__ne__(self, Bitmap other) -> bool"""
         return _gdi_.Bitmap___ne__(*args, **kwargs)
 
         """__ne__(self, Bitmap other) -> bool"""
         return _gdi_.Bitmap___ne__(*args, **kwargs)
 
-
-class BitmapPtr(Bitmap):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Bitmap
-_gdi_.Bitmap_swigregister(BitmapPtr)
+Bitmap_swigregister = _gdi_.Bitmap_swigregister
+Bitmap_swigregister(Bitmap)
 
 def EmptyBitmap(*args, **kwargs):
     """
 
 def EmptyBitmap(*args, **kwargs):
     """
@@ -750,10 +668,9 @@ def EmptyBitmap(*args, **kwargs):
 
     Creates a new bitmap of the given size.  A depth of -1 indicates the
     depth of the current screen or visual. Some platforms only support 1
 
     Creates a new bitmap of the given size.  A depth of -1 indicates the
     depth of the current screen or visual. Some platforms only support 1
-    for monochrome and -1 for the current colour setting.
+    for monochrome and -1 for the current display depth.
     """
     val = _gdi_.new_EmptyBitmap(*args, **kwargs)
     """
     val = _gdi_.new_EmptyBitmap(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def BitmapFromIcon(*args, **kwargs):
     return val
 
 def BitmapFromIcon(*args, **kwargs):
@@ -763,7 +680,6 @@ def BitmapFromIcon(*args, **kwargs):
     Create a new bitmap from a `wx.Icon` object.
     """
     val = _gdi_.new_BitmapFromIcon(*args, **kwargs)
     Create a new bitmap from a `wx.Icon` object.
     """
     val = _gdi_.new_BitmapFromIcon(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def BitmapFromImage(*args, **kwargs):
     return val
 
 def BitmapFromImage(*args, **kwargs):
@@ -777,7 +693,6 @@ def BitmapFromImage(*args, **kwargs):
     that a colour reduction may have to take place.
     """
     val = _gdi_.new_BitmapFromImage(*args, **kwargs)
     that a colour reduction may have to take place.
     """
     val = _gdi_.new_BitmapFromImage(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def BitmapFromXPMData(*args, **kwargs):
     return val
 
 def BitmapFromXPMData(*args, **kwargs):
@@ -787,7 +702,6 @@ def BitmapFromXPMData(*args, **kwargs):
     Construct a Bitmap from a list of strings formatted as XPM data.
     """
     val = _gdi_.new_BitmapFromXPMData(*args, **kwargs)
     Construct a Bitmap from a list of strings formatted as XPM data.
     """
     val = _gdi_.new_BitmapFromXPMData(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def BitmapFromBits(*args, **kwargs):
     return val
 
 def BitmapFromBits(*args, **kwargs):
@@ -800,7 +714,6 @@ def BitmapFromBits(*args, **kwargs):
     bit depths, the behaviour is platform dependent.
     """
     val = _gdi_.new_BitmapFromBits(*args, **kwargs)
     bit depths, the behaviour is platform dependent.
     """
     val = _gdi_.new_BitmapFromBits(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class Mask(_core.Object):
     return val
 
 class Mask(_core.Object):
@@ -815,9 +728,9 @@ class Mask(_core.Object):
     `wx.MemoryDC` with a `wx.Bitmap` selected into it that contains a
     mask.
     """
     `wx.MemoryDC` with a `wx.Bitmap` selected into it that contains a
     mask.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMask instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Bitmap bitmap, Colour colour=NullColour) -> Mask
 
         """
         __init__(self, Bitmap bitmap, Colour colour=NullColour) -> Mask
 
@@ -829,35 +742,22 @@ class Mask(_core.Object):
 
         :see: `wx.Bitmap`, `wx.Colour`
         """
 
         :see: `wx.Bitmap`, `wx.Colour`
         """
-        newobj = _gdi_.new_Mask(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class MaskPtr(Mask):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Mask
-_gdi_.Mask_swigregister(MaskPtr)
+        _gdi_.Mask_swiginit(self,_gdi_.new_Mask(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Mask
+    __del__ = lambda self : None;
+Mask_swigregister = _gdi_.Mask_swigregister
+Mask_swigregister(Mask)
 
 MaskColour = wx._deprecated(Mask, "wx.MaskColour is deprecated, use `wx.Mask` instead.") 
 class Icon(GDIObject):
     """Proxy of C++ Icon class"""
 
 MaskColour = wx._deprecated(Mask, "wx.MaskColour is deprecated, use `wx.Mask` instead.") 
 class Icon(GDIObject):
     """Proxy of C++ Icon class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxIcon instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, String name, int type, int desiredWidth=-1, int desiredHeight=-1) -> Icon"""
         """__init__(self, String name, int type, int desiredWidth=-1, int desiredHeight=-1) -> Icon"""
-        newobj = _gdi_.new_Icon(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_Icon):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.Icon_swiginit(self,_gdi_.new_Icon(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Icon
+    __del__ = lambda self : None;
     def LoadFile(*args, **kwargs):
         """LoadFile(self, String name, int type) -> bool"""
         return _gdi_.Icon_LoadFile(*args, **kwargs)
     def LoadFile(*args, **kwargs):
         """LoadFile(self, String name, int type) -> bool"""
         return _gdi_.Icon_LoadFile(*args, **kwargs)
@@ -907,54 +807,38 @@ class Icon(GDIObject):
         return _gdi_.Icon_CopyFromBitmap(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
         return _gdi_.Icon_CopyFromBitmap(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
-
-class IconPtr(Icon):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Icon
-_gdi_.Icon_swigregister(IconPtr)
+Icon_swigregister = _gdi_.Icon_swigregister
+Icon_swigregister(Icon)
 
 def EmptyIcon(*args, **kwargs):
     """EmptyIcon() -> Icon"""
     val = _gdi_.new_EmptyIcon(*args, **kwargs)
 
 def EmptyIcon(*args, **kwargs):
     """EmptyIcon() -> Icon"""
     val = _gdi_.new_EmptyIcon(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def IconFromLocation(*args, **kwargs):
     """IconFromLocation(IconLocation loc) -> Icon"""
     val = _gdi_.new_IconFromLocation(*args, **kwargs)
     return val
 
 def IconFromLocation(*args, **kwargs):
     """IconFromLocation(IconLocation loc) -> Icon"""
     val = _gdi_.new_IconFromLocation(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def IconFromBitmap(*args, **kwargs):
     """IconFromBitmap(Bitmap bmp) -> Icon"""
     val = _gdi_.new_IconFromBitmap(*args, **kwargs)
     return val
 
 def IconFromBitmap(*args, **kwargs):
     """IconFromBitmap(Bitmap bmp) -> Icon"""
     val = _gdi_.new_IconFromBitmap(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def IconFromXPMData(*args, **kwargs):
     """IconFromXPMData(PyObject listOfStrings) -> Icon"""
     val = _gdi_.new_IconFromXPMData(*args, **kwargs)
     return val
 
 def IconFromXPMData(*args, **kwargs):
     """IconFromXPMData(PyObject listOfStrings) -> Icon"""
     val = _gdi_.new_IconFromXPMData(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class IconLocation(object):
     """Proxy of C++ IconLocation class"""
     return val
 
 class IconLocation(object):
     """Proxy of C++ IconLocation class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxIconLocation instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, String filename=&wxPyEmptyString, int num=0) -> IconLocation"""
         """__init__(self, String filename=&wxPyEmptyString, int num=0) -> IconLocation"""
-        newobj = _gdi_.new_IconLocation(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_IconLocation):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.IconLocation_swiginit(self,_gdi_.new_IconLocation(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_IconLocation
+    __del__ = lambda self : None;
     def IsOk(*args, **kwargs):
         """IsOk(self) -> bool"""
         return _gdi_.IconLocation_IsOk(*args, **kwargs)
     def IsOk(*args, **kwargs):
         """IsOk(self) -> bool"""
         return _gdi_.IconLocation_IsOk(*args, **kwargs)
@@ -976,30 +860,18 @@ class IconLocation(object):
         """GetIndex(self) -> int"""
         return _gdi_.IconLocation_GetIndex(*args, **kwargs)
 
         """GetIndex(self) -> int"""
         return _gdi_.IconLocation_GetIndex(*args, **kwargs)
 
-
-class IconLocationPtr(IconLocation):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = IconLocation
-_gdi_.IconLocation_swigregister(IconLocationPtr)
+IconLocation_swigregister = _gdi_.IconLocation_swigregister
+IconLocation_swigregister(IconLocation)
 
 class IconBundle(object):
     """Proxy of C++ IconBundle class"""
 
 class IconBundle(object):
     """Proxy of C++ IconBundle class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxIconBundle instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> IconBundle"""
         """__init__(self) -> IconBundle"""
-        newobj = _gdi_.new_IconBundle(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_IconBundle):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.IconBundle_swiginit(self,_gdi_.new_IconBundle(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_IconBundle
+    __del__ = lambda self : None;
     def AddIcon(*args, **kwargs):
         """AddIcon(self, Icon icon)"""
         return _gdi_.IconBundle_AddIcon(*args, **kwargs)
     def AddIcon(*args, **kwargs):
         """AddIcon(self, Icon icon)"""
         return _gdi_.IconBundle_AddIcon(*args, **kwargs)
@@ -1012,24 +884,17 @@ class IconBundle(object):
         """GetIcon(self, Size size) -> Icon"""
         return _gdi_.IconBundle_GetIcon(*args, **kwargs)
 
         """GetIcon(self, Size size) -> Icon"""
         return _gdi_.IconBundle_GetIcon(*args, **kwargs)
 
-
-class IconBundlePtr(IconBundle):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = IconBundle
-_gdi_.IconBundle_swigregister(IconBundlePtr)
+IconBundle_swigregister = _gdi_.IconBundle_swigregister
+IconBundle_swigregister(IconBundle)
 
 def IconBundleFromFile(*args, **kwargs):
     """IconBundleFromFile(String file, long type) -> IconBundle"""
     val = _gdi_.new_IconBundleFromFile(*args, **kwargs)
 
 def IconBundleFromFile(*args, **kwargs):
     """IconBundleFromFile(String file, long type) -> IconBundle"""
     val = _gdi_.new_IconBundleFromFile(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def IconBundleFromIcon(*args, **kwargs):
     """IconBundleFromIcon(Icon icon) -> IconBundle"""
     val = _gdi_.new_IconBundleFromIcon(*args, **kwargs)
     return val
 
 def IconBundleFromIcon(*args, **kwargs):
     """IconBundleFromIcon(Icon icon) -> IconBundle"""
     val = _gdi_.new_IconBundleFromIcon(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class Cursor(GDIObject):
     return val
 
 class Cursor(GDIObject):
@@ -1044,9 +909,9 @@ class Cursor(GDIObject):
     global `wx.SetCursor` function is also available for use on MS Windows.
 
     """
     global `wx.SetCursor` function is also available for use on MS Windows.
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxCursor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, String cursorName, long type, int hotSpotX=0, int hotSpotY=0) -> Cursor
 
         """
         __init__(self, String cursorName, long type, int hotSpotX=0, int hotSpotY=0) -> Cursor
 
@@ -1054,16 +919,9 @@ class Cursor(GDIObject):
         wx.BITAMP_TYPE* constants, and specify the hotspot if not using a .cur
         file.
         """
         wx.BITAMP_TYPE* constants, and specify the hotspot if not using a .cur
         file.
         """
-        newobj = _gdi_.new_Cursor(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_Cursor):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.Cursor_swiginit(self,_gdi_.new_Cursor(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Cursor
+    __del__ = lambda self : None;
     def GetHandle(*args, **kwargs):
         """
         GetHandle(self) -> long
     def GetHandle(*args, **kwargs):
         """
         GetHandle(self) -> long
@@ -1113,13 +971,8 @@ class Cursor(GDIObject):
         """SetSize(self, Size size)"""
         return _gdi_.Cursor_SetSize(*args, **kwargs)
 
         """SetSize(self, Size size)"""
         return _gdi_.Cursor_SetSize(*args, **kwargs)
 
-
-class CursorPtr(Cursor):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Cursor
-_gdi_.Cursor_swigregister(CursorPtr)
+Cursor_swigregister = _gdi_.Cursor_swigregister
+Cursor_swigregister(Cursor)
 
 def StockCursor(*args, **kwargs):
     """
 
 def StockCursor(*args, **kwargs):
     """
@@ -1129,7 +982,6 @@ def StockCursor(*args, **kwargs):
     stock cursors are available on all platforms.
     """
     val = _gdi_.new_StockCursor(*args, **kwargs)
     stock cursors are available on all platforms.
     """
     val = _gdi_.new_StockCursor(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def CursorFromImage(*args, **kwargs):
     return val
 
 def CursorFromImage(*args, **kwargs):
@@ -1140,7 +992,6 @@ def CursorFromImage(*args, **kwargs):
     for setting the transparent portions of the cursor.
     """
     val = _gdi_.new_CursorFromImage(*args, **kwargs)
     for setting the transparent portions of the cursor.
     """
     val = _gdi_.new_CursorFromImage(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
     return val
 
 #---------------------------------------------------------------------------
@@ -1150,20 +1001,13 @@ PartRegion = _gdi_.PartRegion
 InRegion = _gdi_.InRegion
 class Region(GDIObject):
     """Proxy of C++ Region class"""
 InRegion = _gdi_.InRegion
 class Region(GDIObject):
     """Proxy of C++ Region class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxRegion instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, int x=0, int y=0, int width=0, int height=0) -> Region"""
         """__init__(self, int x=0, int y=0, int width=0, int height=0) -> Region"""
-        newobj = _gdi_.new_Region(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_Region):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.Region_swiginit(self,_gdi_.new_Region(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Region
+    __del__ = lambda self : None;
     def Clear(*args, **kwargs):
         """Clear(self)"""
         return _gdi_.Region_Clear(*args, **kwargs)
     def Clear(*args, **kwargs):
         """Clear(self)"""
         return _gdi_.Region_Clear(*args, **kwargs)
@@ -1256,48 +1100,33 @@ class Region(GDIObject):
         """UnionBitmapColour(self, Bitmap bmp, Colour transColour, int tolerance=0) -> bool"""
         return _gdi_.Region_UnionBitmapColour(*args, **kwargs)
 
         """UnionBitmapColour(self, Bitmap bmp, Colour transColour, int tolerance=0) -> bool"""
         return _gdi_.Region_UnionBitmapColour(*args, **kwargs)
 
-
-class RegionPtr(Region):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Region
-_gdi_.Region_swigregister(RegionPtr)
+Region_swigregister = _gdi_.Region_swigregister
+Region_swigregister(Region)
 
 def RegionFromBitmap(*args, **kwargs):
     """RegionFromBitmap(Bitmap bmp) -> Region"""
     val = _gdi_.new_RegionFromBitmap(*args, **kwargs)
 
 def RegionFromBitmap(*args, **kwargs):
     """RegionFromBitmap(Bitmap bmp) -> Region"""
     val = _gdi_.new_RegionFromBitmap(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def RegionFromBitmapColour(*args, **kwargs):
     """RegionFromBitmapColour(Bitmap bmp, Colour transColour, int tolerance=0) -> Region"""
     val = _gdi_.new_RegionFromBitmapColour(*args, **kwargs)
     return val
 
 def RegionFromBitmapColour(*args, **kwargs):
     """RegionFromBitmapColour(Bitmap bmp, Colour transColour, int tolerance=0) -> Region"""
     val = _gdi_.new_RegionFromBitmapColour(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def RegionFromPoints(*args, **kwargs):
     """RegionFromPoints(int points, int fillStyle=WINDING_RULE) -> Region"""
     val = _gdi_.new_RegionFromPoints(*args, **kwargs)
     return val
 
 def RegionFromPoints(*args, **kwargs):
     """RegionFromPoints(int points, int fillStyle=WINDING_RULE) -> Region"""
     val = _gdi_.new_RegionFromPoints(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class RegionIterator(_core.Object):
     """Proxy of C++ RegionIterator class"""
     return val
 
 class RegionIterator(_core.Object):
     """Proxy of C++ RegionIterator class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxRegionIterator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, Region region) -> RegionIterator"""
         """__init__(self, Region region) -> RegionIterator"""
-        newobj = _gdi_.new_RegionIterator(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_RegionIterator):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.RegionIterator_swiginit(self,_gdi_.new_RegionIterator(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_RegionIterator
+    __del__ = lambda self : None;
     def GetX(*args, **kwargs):
         """GetX(self) -> int"""
         return _gdi_.RegionIterator_GetX(*args, **kwargs)
     def GetX(*args, **kwargs):
         """GetX(self) -> int"""
         return _gdi_.RegionIterator_GetX(*args, **kwargs)
@@ -1342,13 +1171,8 @@ class RegionIterator(_core.Object):
         """__nonzero__(self) -> bool"""
         return _gdi_.RegionIterator___nonzero__(*args, **kwargs)
 
         """__nonzero__(self) -> bool"""
         return _gdi_.RegionIterator___nonzero__(*args, **kwargs)
 
-
-class RegionIteratorPtr(RegionIterator):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = RegionIterator
-_gdi_.RegionIterator_swigregister(RegionIteratorPtr)
+RegionIterator_swigregister = _gdi_.RegionIterator_swigregister
+RegionIterator_swigregister(RegionIterator)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -1480,20 +1304,13 @@ FONTENCODING_SHIFT_JIS = _gdi_.FONTENCODING_SHIFT_JIS
 
 class NativeFontInfo(object):
     """Proxy of C++ NativeFontInfo class"""
 
 class NativeFontInfo(object):
     """Proxy of C++ NativeFontInfo class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxNativeFontInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> NativeFontInfo"""
         """__init__(self) -> NativeFontInfo"""
-        newobj = _gdi_.new_NativeFontInfo(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_NativeFontInfo):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.NativeFontInfo_swiginit(self,_gdi_.new_NativeFontInfo(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_NativeFontInfo
+    __del__ = lambda self : None;
     def Init(*args, **kwargs):
         """Init(self)"""
         return _gdi_.NativeFontInfo_Init(*args, **kwargs)
     def Init(*args, **kwargs):
         """Init(self)"""
         return _gdi_.NativeFontInfo_Init(*args, **kwargs)
@@ -1586,32 +1403,20 @@ class NativeFontInfo(object):
         """ToUserString(self) -> String"""
         return _gdi_.NativeFontInfo_ToUserString(*args, **kwargs)
 
         """ToUserString(self) -> String"""
         return _gdi_.NativeFontInfo_ToUserString(*args, **kwargs)
 
-
-class NativeFontInfoPtr(NativeFontInfo):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = NativeFontInfo
-_gdi_.NativeFontInfo_swigregister(NativeFontInfoPtr)
+NativeFontInfo_swigregister = _gdi_.NativeFontInfo_swigregister
+NativeFontInfo_swigregister(NativeFontInfo)
 
 class NativeEncodingInfo(object):
     """Proxy of C++ NativeEncodingInfo class"""
 
 class NativeEncodingInfo(object):
     """Proxy of C++ NativeEncodingInfo class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxNativeEncodingInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
     facename = property(_gdi_.NativeEncodingInfo_facename_get, _gdi_.NativeEncodingInfo_facename_set)
     encoding = property(_gdi_.NativeEncodingInfo_encoding_get, _gdi_.NativeEncodingInfo_encoding_set)
     facename = property(_gdi_.NativeEncodingInfo_facename_get, _gdi_.NativeEncodingInfo_facename_set)
     encoding = property(_gdi_.NativeEncodingInfo_encoding_get, _gdi_.NativeEncodingInfo_encoding_set)
-    def __init__(self, *args, **kwargs):
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> NativeEncodingInfo"""
         """__init__(self) -> NativeEncodingInfo"""
-        newobj = _gdi_.new_NativeEncodingInfo(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_NativeEncodingInfo):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.NativeEncodingInfo_swiginit(self,_gdi_.new_NativeEncodingInfo(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_NativeEncodingInfo
+    __del__ = lambda self : None;
     def FromString(*args, **kwargs):
         """FromString(self, String s) -> bool"""
         return _gdi_.NativeEncodingInfo_FromString(*args, **kwargs)
     def FromString(*args, **kwargs):
         """FromString(self, String s) -> bool"""
         return _gdi_.NativeEncodingInfo_FromString(*args, **kwargs)
@@ -1620,40 +1425,28 @@ class NativeEncodingInfo(object):
         """ToString(self) -> String"""
         return _gdi_.NativeEncodingInfo_ToString(*args, **kwargs)
 
         """ToString(self) -> String"""
         return _gdi_.NativeEncodingInfo_ToString(*args, **kwargs)
 
-
-class NativeEncodingInfoPtr(NativeEncodingInfo):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = NativeEncodingInfo
-_gdi_.NativeEncodingInfo_swigregister(NativeEncodingInfoPtr)
+NativeEncodingInfo_swigregister = _gdi_.NativeEncodingInfo_swigregister
+NativeEncodingInfo_swigregister(NativeEncodingInfo)
 
 
 def GetNativeFontEncoding(*args, **kwargs):
 
 
 def GetNativeFontEncoding(*args, **kwargs):
-    """GetNativeFontEncoding(int encoding) -> NativeEncodingInfo"""
-    return _gdi_.GetNativeFontEncoding(*args, **kwargs)
+  """GetNativeFontEncoding(int encoding) -> NativeEncodingInfo"""
+  return _gdi_.GetNativeFontEncoding(*args, **kwargs)
 
 def TestFontEncoding(*args, **kwargs):
 
 def TestFontEncoding(*args, **kwargs):
-    """TestFontEncoding(NativeEncodingInfo info) -> bool"""
-    return _gdi_.TestFontEncoding(*args, **kwargs)
+  """TestFontEncoding(NativeEncodingInfo info) -> bool"""
+  return _gdi_.TestFontEncoding(*args, **kwargs)
 #---------------------------------------------------------------------------
 
 class FontMapper(object):
     """Proxy of C++ FontMapper class"""
 #---------------------------------------------------------------------------
 
 class FontMapper(object):
     """Proxy of C++ FontMapper class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxFontMapper instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> FontMapper"""
         """__init__(self) -> FontMapper"""
-        newobj = _gdi_.new_FontMapper(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_FontMapper):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.FontMapper_swiginit(self,_gdi_.new_FontMapper(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_FontMapper
+    __del__ = lambda self : None;
     def Get(*args, **kwargs):
         """Get() -> FontMapper"""
         return _gdi_.FontMapper_Get(*args, **kwargs)
     def Get(*args, **kwargs):
         """Get() -> FontMapper"""
         return _gdi_.FontMapper_Get(*args, **kwargs)
@@ -1693,10 +1486,6 @@ class FontMapper(object):
         return _gdi_.FontMapper_GetEncodingFromName(*args, **kwargs)
 
     GetEncodingFromName = staticmethod(GetEncodingFromName)
         return _gdi_.FontMapper_GetEncodingFromName(*args, **kwargs)
 
     GetEncodingFromName = staticmethod(GetEncodingFromName)
-    def SetConfig(*args, **kwargs):
-        """SetConfig(self, ConfigBase config)"""
-        return _gdi_.FontMapper_SetConfig(*args, **kwargs)
-
     def SetConfigPath(*args, **kwargs):
         """SetConfigPath(self, String prefix)"""
         return _gdi_.FontMapper_SetConfigPath(*args, **kwargs)
     def SetConfigPath(*args, **kwargs):
         """SetConfigPath(self, String prefix)"""
         return _gdi_.FontMapper_SetConfigPath(*args, **kwargs)
@@ -1722,45 +1511,40 @@ class FontMapper(object):
         """SetDialogTitle(self, String title)"""
         return _gdi_.FontMapper_SetDialogTitle(*args, **kwargs)
 
         """SetDialogTitle(self, String title)"""
         return _gdi_.FontMapper_SetDialogTitle(*args, **kwargs)
 
+FontMapper_swigregister = _gdi_.FontMapper_swigregister
+FontMapper_swigregister(FontMapper)
 
 
-class FontMapperPtr(FontMapper):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = FontMapper
-_gdi_.FontMapper_swigregister(FontMapperPtr)
-
-def FontMapper_Get(*args, **kwargs):
-    """FontMapper_Get() -> FontMapper"""
-    return _gdi_.FontMapper_Get(*args, **kwargs)
+def FontMapper_Get(*args):
+  """FontMapper_Get() -> FontMapper"""
+  return _gdi_.FontMapper_Get(*args)
 
 def FontMapper_Set(*args, **kwargs):
 
 def FontMapper_Set(*args, **kwargs):
-    """FontMapper_Set(FontMapper mapper) -> FontMapper"""
-    return _gdi_.FontMapper_Set(*args, **kwargs)
+  """FontMapper_Set(FontMapper mapper) -> FontMapper"""
+  return _gdi_.FontMapper_Set(*args, **kwargs)
 
 
-def FontMapper_GetSupportedEncodingsCount(*args, **kwargs):
-    """FontMapper_GetSupportedEncodingsCount() -> size_t"""
-    return _gdi_.FontMapper_GetSupportedEncodingsCount(*args, **kwargs)
+def FontMapper_GetSupportedEncodingsCount(*args):
+  """FontMapper_GetSupportedEncodingsCount() -> size_t"""
+  return _gdi_.FontMapper_GetSupportedEncodingsCount(*args)
 
 def FontMapper_GetEncoding(*args, **kwargs):
 
 def FontMapper_GetEncoding(*args, **kwargs):
-    """FontMapper_GetEncoding(size_t n) -> int"""
-    return _gdi_.FontMapper_GetEncoding(*args, **kwargs)
+  """FontMapper_GetEncoding(size_t n) -> int"""
+  return _gdi_.FontMapper_GetEncoding(*args, **kwargs)
 
 def FontMapper_GetEncodingName(*args, **kwargs):
 
 def FontMapper_GetEncodingName(*args, **kwargs):
-    """FontMapper_GetEncodingName(int encoding) -> String"""
-    return _gdi_.FontMapper_GetEncodingName(*args, **kwargs)
+  """FontMapper_GetEncodingName(int encoding) -> String"""
+  return _gdi_.FontMapper_GetEncodingName(*args, **kwargs)
 
 def FontMapper_GetEncodingDescription(*args, **kwargs):
 
 def FontMapper_GetEncodingDescription(*args, **kwargs):
-    """FontMapper_GetEncodingDescription(int encoding) -> String"""
-    return _gdi_.FontMapper_GetEncodingDescription(*args, **kwargs)
+  """FontMapper_GetEncodingDescription(int encoding) -> String"""
+  return _gdi_.FontMapper_GetEncodingDescription(*args, **kwargs)
 
 def FontMapper_GetEncodingFromName(*args, **kwargs):
 
 def FontMapper_GetEncodingFromName(*args, **kwargs):
-    """FontMapper_GetEncodingFromName(String name) -> int"""
-    return _gdi_.FontMapper_GetEncodingFromName(*args, **kwargs)
+  """FontMapper_GetEncodingFromName(String name) -> int"""
+  return _gdi_.FontMapper_GetEncodingFromName(*args, **kwargs)
 
 
-def FontMapper_GetDefaultConfigPath(*args, **kwargs):
-    """FontMapper_GetDefaultConfigPath() -> String"""
-    return _gdi_.FontMapper_GetDefaultConfigPath(*args, **kwargs)
+def FontMapper_GetDefaultConfigPath(*args):
+  """FontMapper_GetDefaultConfigPath() -> String"""
+  return _gdi_.FontMapper_GetDefaultConfigPath(*args)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -1772,9 +1556,9 @@ class Font(GDIObject):
 
     You can retrieve the current system font settings with `wx.SystemSettings`.
     """
 
     You can retrieve the current system font settings with `wx.SystemSettings`.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxFont instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, int pointSize, int family, int style, int weight, bool underline=False, 
             String face=EmptyString, 
         """
         __init__(self, int pointSize, int family, int style, int weight, bool underline=False, 
             String face=EmptyString, 
@@ -1810,16 +1594,9 @@ class Font(GDIObject):
 
         """
         if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
 
         """
         if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
-        newobj = _gdi_.new_Font(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_Font):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.Font_swiginit(self,_gdi_.new_Font(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Font
+    __del__ = lambda self : None;
     def Ok(*args, **kwargs):
         """
         Ok(self) -> bool
     def Ok(*args, **kwargs):
         """
         Ok(self) -> bool
@@ -2095,13 +1872,8 @@ class Font(GDIObject):
         return _gdi_.Font_SetDefaultEncoding(*args, **kwargs)
 
     SetDefaultEncoding = staticmethod(SetDefaultEncoding)
         return _gdi_.Font_SetDefaultEncoding(*args, **kwargs)
 
     SetDefaultEncoding = staticmethod(SetDefaultEncoding)
-
-class FontPtr(Font):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Font
-_gdi_.Font_swigregister(FontPtr)
+Font_swigregister = _gdi_.Font_swigregister
+Font_swigregister(Font)
 
 def FontFromNativeInfo(*args, **kwargs):
     """
 
 def FontFromNativeInfo(*args, **kwargs):
     """
@@ -2111,7 +1883,6 @@ def FontFromNativeInfo(*args, **kwargs):
     """
     if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
     val = _gdi_.new_FontFromNativeInfo(*args, **kwargs)
     """
     if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
     val = _gdi_.new_FontFromNativeInfo(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def FontFromNativeInfoString(*args, **kwargs):
     return val
 
 def FontFromNativeInfoString(*args, **kwargs):
@@ -2123,7 +1894,6 @@ def FontFromNativeInfoString(*args, **kwargs):
     """
     if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
     val = _gdi_.new_FontFromNativeInfoString(*args, **kwargs)
     """
     if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
     val = _gdi_.new_FontFromNativeInfoString(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def FFont(*args, **kwargs):
     return val
 
 def FFont(*args, **kwargs):
@@ -2151,7 +1921,6 @@ def FFont(*args, **kwargs):
     """
     if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
     val = _gdi_.new_FFont(*args, **kwargs)
     """
     if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
     val = _gdi_.new_FFont(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def FontFromPixelSize(*args, **kwargs):
     return val
 
 def FontFromPixelSize(*args, **kwargs):
@@ -2168,7 +1937,6 @@ def FontFromPixelSize(*args, **kwargs):
     """
     if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
     val = _gdi_.new_FontFromPixelSize(*args, **kwargs)
     """
     if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
     val = _gdi_.new_FontFromPixelSize(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def FFontFromPixelSize(*args, **kwargs):
     return val
 
 def FFontFromPixelSize(*args, **kwargs):
@@ -2184,47 +1952,39 @@ def FFontFromPixelSize(*args, **kwargs):
     """
     if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
     val = _gdi_.new_FFontFromPixelSize(*args, **kwargs)
     """
     if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']
     val = _gdi_.new_FFontFromPixelSize(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
-def Font_GetDefaultEncoding(*args, **kwargs):
-    """
+def Font_GetDefaultEncoding(*args):
+  """
     Font_GetDefaultEncoding() -> int
 
     Returns the encoding used for all fonts created with an encoding of
     ``wx.FONTENCODING_DEFAULT``.
     """
     Font_GetDefaultEncoding() -> int
 
     Returns the encoding used for all fonts created with an encoding of
     ``wx.FONTENCODING_DEFAULT``.
     """
-    return _gdi_.Font_GetDefaultEncoding(*args, **kwargs)
+  return _gdi_.Font_GetDefaultEncoding(*args)
 
 def Font_SetDefaultEncoding(*args, **kwargs):
 
 def Font_SetDefaultEncoding(*args, **kwargs):
-    """
+  """
     Font_SetDefaultEncoding(int encoding)
 
     Sets the default font encoding.
     """
     Font_SetDefaultEncoding(int encoding)
 
     Sets the default font encoding.
     """
-    return _gdi_.Font_SetDefaultEncoding(*args, **kwargs)
+  return _gdi_.Font_SetDefaultEncoding(*args, **kwargs)
 
 Font2 = wx._deprecated(FFont, "Use `wx.FFont` instead.") 
 #---------------------------------------------------------------------------
 
 class FontEnumerator(object):
     """Proxy of C++ FontEnumerator class"""
 
 Font2 = wx._deprecated(FFont, "Use `wx.FFont` instead.") 
 #---------------------------------------------------------------------------
 
 class FontEnumerator(object):
     """Proxy of C++ FontEnumerator class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyFontEnumerator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> FontEnumerator"""
         """__init__(self) -> FontEnumerator"""
-        newobj = _gdi_.new_FontEnumerator(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _gdi_.FontEnumerator_swiginit(self,_gdi_.new_FontEnumerator(*args, **kwargs))
         self._setCallbackInfo(self, FontEnumerator, 0)
 
         self._setCallbackInfo(self, FontEnumerator, 0)
 
-    def __del__(self, destroy=_gdi_.delete_FontEnumerator):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+    __swig_destroy__ = _gdi_.delete_FontEnumerator
+    __del__ = lambda self : None;
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class, bool incref)"""
         return _gdi_.FontEnumerator__setCallbackInfo(*args, **kwargs)
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class, bool incref)"""
         return _gdi_.FontEnumerator__setCallbackInfo(*args, **kwargs)
@@ -2245,13 +2005,8 @@ class FontEnumerator(object):
         """GetFacenames(self) -> PyObject"""
         return _gdi_.FontEnumerator_GetFacenames(*args, **kwargs)
 
         """GetFacenames(self) -> PyObject"""
         return _gdi_.FontEnumerator_GetFacenames(*args, **kwargs)
 
-
-class FontEnumeratorPtr(FontEnumerator):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = FontEnumerator
-_gdi_.FontEnumerator_swigregister(FontEnumeratorPtr)
+FontEnumerator_swigregister = _gdi_.FontEnumerator_swigregister
+FontEnumerator_swigregister(FontEnumerator)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -2488,19 +2243,14 @@ LANGUAGE_ZULU = _gdi_.LANGUAGE_ZULU
 LANGUAGE_USER_DEFINED = _gdi_.LANGUAGE_USER_DEFINED
 class LanguageInfo(object):
     """Proxy of C++ LanguageInfo class"""
 LANGUAGE_USER_DEFINED = _gdi_.LANGUAGE_USER_DEFINED
 class LanguageInfo(object):
     """Proxy of C++ LanguageInfo class"""
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxLanguageInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
     Language = property(_gdi_.LanguageInfo_Language_get, _gdi_.LanguageInfo_Language_set)
     CanonicalName = property(_gdi_.LanguageInfo_CanonicalName_get, _gdi_.LanguageInfo_CanonicalName_set)
     Description = property(_gdi_.LanguageInfo_Description_get, _gdi_.LanguageInfo_Description_set)
     Language = property(_gdi_.LanguageInfo_Language_get, _gdi_.LanguageInfo_Language_set)
     CanonicalName = property(_gdi_.LanguageInfo_CanonicalName_get, _gdi_.LanguageInfo_CanonicalName_set)
     Description = property(_gdi_.LanguageInfo_Description_get, _gdi_.LanguageInfo_Description_set)
-
-class LanguageInfoPtr(LanguageInfo):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = LanguageInfo
-_gdi_.LanguageInfo_swigregister(LanguageInfoPtr)
+LanguageInfo_swigregister = _gdi_.LanguageInfo_swigregister
+LanguageInfo_swigregister(LanguageInfo)
 
 LOCALE_CAT_NUMBER = _gdi_.LOCALE_CAT_NUMBER
 LOCALE_CAT_DATE = _gdi_.LOCALE_CAT_DATE
 
 LOCALE_CAT_NUMBER = _gdi_.LOCALE_CAT_NUMBER
 LOCALE_CAT_DATE = _gdi_.LOCALE_CAT_DATE
@@ -2512,20 +2262,13 @@ LOCALE_LOAD_DEFAULT = _gdi_.LOCALE_LOAD_DEFAULT
 LOCALE_CONV_ENCODING = _gdi_.LOCALE_CONV_ENCODING
 class Locale(object):
     """Proxy of C++ Locale class"""
 LOCALE_CONV_ENCODING = _gdi_.LOCALE_CONV_ENCODING
 class Locale(object):
     """Proxy of C++ Locale class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxLocale instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, int language=-1, int flags=wxLOCALE_LOAD_DEFAULT|wxLOCALE_CONV_ENCODING) -> Locale"""
         """__init__(self, int language=-1, int flags=wxLOCALE_LOAD_DEFAULT|wxLOCALE_CONV_ENCODING) -> Locale"""
-        newobj = _gdi_.new_Locale(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_Locale):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.Locale_swiginit(self,_gdi_.new_Locale(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Locale
+    __del__ = lambda self : None;
     def Init1(*args, **kwargs):
         """
         Init1(self, String szName, String szShort=EmptyString, String szLocale=EmptyString, 
     def Init1(*args, **kwargs):
         """
         Init1(self, String szName, String szShort=EmptyString, String szLocale=EmptyString, 
@@ -2622,50 +2365,45 @@ class Locale(object):
         """GetName(self) -> String"""
         return _gdi_.Locale_GetName(*args, **kwargs)
 
         """GetName(self) -> String"""
         return _gdi_.Locale_GetName(*args, **kwargs)
 
+Locale_swigregister = _gdi_.Locale_swigregister
+Locale_swigregister(Locale)
 
 
-class LocalePtr(Locale):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Locale
-_gdi_.Locale_swigregister(LocalePtr)
+def Locale_GetSystemLanguage(*args):
+  """Locale_GetSystemLanguage() -> int"""
+  return _gdi_.Locale_GetSystemLanguage(*args)
 
 
-def Locale_GetSystemLanguage(*args, **kwargs):
-    """Locale_GetSystemLanguage() -> int"""
-    return _gdi_.Locale_GetSystemLanguage(*args, **kwargs)
+def Locale_GetSystemEncoding(*args):
+  """Locale_GetSystemEncoding() -> int"""
+  return _gdi_.Locale_GetSystemEncoding(*args)
 
 
-def Locale_GetSystemEncoding(*args, **kwargs):
-    """Locale_GetSystemEncoding() -> int"""
-    return _gdi_.Locale_GetSystemEncoding(*args, **kwargs)
-
-def Locale_GetSystemEncodingName(*args, **kwargs):
-    """Locale_GetSystemEncodingName() -> String"""
-    return _gdi_.Locale_GetSystemEncodingName(*args, **kwargs)
+def Locale_GetSystemEncodingName(*args):
+  """Locale_GetSystemEncodingName() -> String"""
+  return _gdi_.Locale_GetSystemEncodingName(*args)
 
 def Locale_AddCatalogLookupPathPrefix(*args, **kwargs):
 
 def Locale_AddCatalogLookupPathPrefix(*args, **kwargs):
-    """Locale_AddCatalogLookupPathPrefix(String prefix)"""
-    return _gdi_.Locale_AddCatalogLookupPathPrefix(*args, **kwargs)
+  """Locale_AddCatalogLookupPathPrefix(String prefix)"""
+  return _gdi_.Locale_AddCatalogLookupPathPrefix(*args, **kwargs)
 
 def Locale_GetLanguageInfo(*args, **kwargs):
 
 def Locale_GetLanguageInfo(*args, **kwargs):
-    """Locale_GetLanguageInfo(int lang) -> LanguageInfo"""
-    return _gdi_.Locale_GetLanguageInfo(*args, **kwargs)
+  """Locale_GetLanguageInfo(int lang) -> LanguageInfo"""
+  return _gdi_.Locale_GetLanguageInfo(*args, **kwargs)
 
 def Locale_GetLanguageName(*args, **kwargs):
 
 def Locale_GetLanguageName(*args, **kwargs):
-    """Locale_GetLanguageName(int lang) -> String"""
-    return _gdi_.Locale_GetLanguageName(*args, **kwargs)
+  """Locale_GetLanguageName(int lang) -> String"""
+  return _gdi_.Locale_GetLanguageName(*args, **kwargs)
 
 def Locale_FindLanguageInfo(*args, **kwargs):
 
 def Locale_FindLanguageInfo(*args, **kwargs):
-    """Locale_FindLanguageInfo(String locale) -> LanguageInfo"""
-    return _gdi_.Locale_FindLanguageInfo(*args, **kwargs)
+  """Locale_FindLanguageInfo(String locale) -> LanguageInfo"""
+  return _gdi_.Locale_FindLanguageInfo(*args, **kwargs)
 
 def Locale_AddLanguage(*args, **kwargs):
 
 def Locale_AddLanguage(*args, **kwargs):
-    """Locale_AddLanguage(LanguageInfo info)"""
-    return _gdi_.Locale_AddLanguage(*args, **kwargs)
+  """Locale_AddLanguage(LanguageInfo info)"""
+  return _gdi_.Locale_AddLanguage(*args, **kwargs)
 
 
 
 
-def GetLocale(*args, **kwargs):
-    """GetLocale() -> Locale"""
-    return _gdi_.GetLocale(*args, **kwargs)
+def GetLocale(*args):
+  """GetLocale() -> Locale"""
+  return _gdi_.GetLocale(*args)
 #---------------------------------------------------------------------------
 
 CONVERT_STRICT = _gdi_.CONVERT_STRICT
 #---------------------------------------------------------------------------
 
 CONVERT_STRICT = _gdi_.CONVERT_STRICT
@@ -2677,20 +2415,13 @@ PLATFORM_OS2 = _gdi_.PLATFORM_OS2
 PLATFORM_MAC = _gdi_.PLATFORM_MAC
 class EncodingConverter(_core.Object):
     """Proxy of C++ EncodingConverter class"""
 PLATFORM_MAC = _gdi_.PLATFORM_MAC
 class EncodingConverter(_core.Object):
     """Proxy of C++ EncodingConverter class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxEncodingConverter instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> EncodingConverter"""
         """__init__(self) -> EncodingConverter"""
-        newobj = _gdi_.new_EncodingConverter(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_EncodingConverter):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.EncodingConverter_swiginit(self,_gdi_.new_EncodingConverter(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_EncodingConverter
+    __del__ = lambda self : None;
     def Init(*args, **kwargs):
         """Init(self, int input_enc, int output_enc, int method=CONVERT_STRICT) -> bool"""
         return _gdi_.EncodingConverter_Init(*args, **kwargs)
     def Init(*args, **kwargs):
         """Init(self, int input_enc, int output_enc, int method=CONVERT_STRICT) -> bool"""
         return _gdi_.EncodingConverter_Init(*args, **kwargs)
@@ -2715,32 +2446,27 @@ class EncodingConverter(_core.Object):
 
     CanConvert = staticmethod(CanConvert)
     def __nonzero__(self): return self.IsOk() 
 
     CanConvert = staticmethod(CanConvert)
     def __nonzero__(self): return self.IsOk() 
-
-class EncodingConverterPtr(EncodingConverter):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = EncodingConverter
-_gdi_.EncodingConverter_swigregister(EncodingConverterPtr)
+EncodingConverter_swigregister = _gdi_.EncodingConverter_swigregister
+EncodingConverter_swigregister(EncodingConverter)
 
 def GetTranslation(*args):
 
 def GetTranslation(*args):
-    """
+  """
     GetTranslation(String str) -> String
     GetTranslation(String str, String strPlural, size_t n) -> String
     """
     GetTranslation(String str) -> String
     GetTranslation(String str, String strPlural, size_t n) -> String
     """
-    return _gdi_.GetTranslation(*args)
+  return _gdi_.GetTranslation(*args)
 
 def EncodingConverter_GetPlatformEquivalents(*args, **kwargs):
 
 def EncodingConverter_GetPlatformEquivalents(*args, **kwargs):
-    """EncodingConverter_GetPlatformEquivalents(int enc, int platform=PLATFORM_CURRENT) -> wxFontEncodingArray"""
-    return _gdi_.EncodingConverter_GetPlatformEquivalents(*args, **kwargs)
+  """EncodingConverter_GetPlatformEquivalents(int enc, int platform=PLATFORM_CURRENT) -> wxFontEncodingArray"""
+  return _gdi_.EncodingConverter_GetPlatformEquivalents(*args, **kwargs)
 
 def EncodingConverter_GetAllEquivalents(*args, **kwargs):
 
 def EncodingConverter_GetAllEquivalents(*args, **kwargs):
-    """EncodingConverter_GetAllEquivalents(int enc) -> wxFontEncodingArray"""
-    return _gdi_.EncodingConverter_GetAllEquivalents(*args, **kwargs)
+  """EncodingConverter_GetAllEquivalents(int enc) -> wxFontEncodingArray"""
+  return _gdi_.EncodingConverter_GetAllEquivalents(*args, **kwargs)
 
 def EncodingConverter_CanConvert(*args, **kwargs):
 
 def EncodingConverter_CanConvert(*args, **kwargs):
-    """EncodingConverter_CanConvert(int encIn, int encOut) -> bool"""
-    return _gdi_.EncodingConverter_CanConvert(*args, **kwargs)
+  """EncodingConverter_CanConvert(int encIn, int encOut) -> bool"""
+  return _gdi_.EncodingConverter_CanConvert(*args, **kwargs)
 
 #----------------------------------------------------------------------------
 # On MSW add the directory where the wxWidgets catalogs were installed
 
 #----------------------------------------------------------------------------
 # On MSW add the directory where the wxWidgets catalogs were installed
@@ -2771,36 +2497,15 @@ class DC(_core.Object):
     one of the derived classes instead.  Which one will depend on the
     situation in which it is used.
     """
     one of the derived classes instead.  Which one will depend on the
     situation in which it is used.
     """
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __del__(self, destroy=_gdi_.delete_DC):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
-    def BeginDrawing(*args, **kwargs):
-        """
-        BeginDrawing(self)
-
-        Allows for optimization of drawing code on platforms that need it.  On
-        other platforms this is just an empty function and is harmless.  To
-        take advantage of this postential optimization simply enclose each
-        group of calls to the drawing primitives within calls to
-        `BeginDrawing` and `EndDrawing`.
-        """
-        return _gdi_.DC_BeginDrawing(*args, **kwargs)
-
-    def EndDrawing(*args, **kwargs):
-        """
-        EndDrawing(self)
-
-        Ends the group of drawing primitives started with `BeginDrawing`, and
-        invokes whatever optimization is available for this DC type on the
-        current platform.
-        """
-        return _gdi_.DC_EndDrawing(*args, **kwargs)
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    __swig_destroy__ = _gdi_.delete_DC
+    __del__ = lambda self : None;
+    # These have been deprecated in wxWidgets.  Since they never
+    # really did anything to begin with, just make them be NOPs.
+    def BeginDrawing(self):  pass
+    def EndDrawing(self):  pass
 
     def FloodFill(*args, **kwargs):
         """
 
     def FloodFill(*args, **kwargs):
         """
@@ -2844,6 +2549,34 @@ class DC(_core.Object):
         """
         return _gdi_.DC_FloodFillPoint(*args, **kwargs)
 
         """
         return _gdi_.DC_FloodFillPoint(*args, **kwargs)
 
+    def GradientFillConcentric(*args, **kwargs):
+        """
+        GradientFillConcentric(self, Rect rect, Colour initialColour, Colour destColour, 
+            Point circleCenter)
+
+        Fill the area specified by rect with a radial gradient, starting from
+        initialColour in the center of the circle and fading to destColour on
+        the outside of the circle.  The circleCenter argument is the relative
+        coordinants of the center of the circle in the specified rect.
+
+        Note: Currently this function is very slow, don't use it for real-time
+        drawing.
+        """
+        return _gdi_.DC_GradientFillConcentric(*args, **kwargs)
+
+    def GradientFillLinear(*args, **kwargs):
+        """
+        GradientFillLinear(self, Rect rect, Colour initialColour, Colour destColour, 
+            int nDirection=EAST)
+
+        Fill the area specified by rect with a linear gradient, starting from
+        initialColour and eventually fading to destColour. The nDirection
+        parameter specifies the direction of the colour change, default is to
+        use initialColour on the left part of the rectangle and destColour on
+        the right side.
+        """
+        return _gdi_.DC_GradientFillLinear(*args, **kwargs)
+
     def GetPixel(*args, **kwargs):
         """
         GetPixel(self, int x, int y) -> Colour
     def GetPixel(*args, **kwargs):
         """
         GetPixel(self, int x, int y) -> Colour
@@ -4211,13 +3944,8 @@ class DC(_core.Object):
            raise ValueError('backgrounds and coords must have same length')
         return  self._DrawTextList(textList, coords, foregrounds, backgrounds)
 
            raise ValueError('backgrounds and coords must have same length')
         return  self._DrawTextList(textList, coords, foregrounds, backgrounds)
 
-
-class DCPtr(DC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = DC
-_gdi_.DC_swigregister(DCPtr)
+DC_swigregister = _gdi_.DC_swigregister
+DC_swigregister(DC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4237,9 +3965,9 @@ class MemoryDC(DC):
     of it) before a bitmap can be reselected into another memory DC.
 
     """
     of it) before a bitmap can be reselected into another memory DC.
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMemoryDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self) -> MemoryDC
 
         """
         __init__(self) -> MemoryDC
 
@@ -4249,10 +3977,7 @@ class MemoryDC(DC):
         creating a usable device context. Don't forget to select a bitmap into
         the DC before drawing on it.
         """
         creating a usable device context. Don't forget to select a bitmap into
         the DC before drawing on it.
         """
-        newobj = _gdi_.new_MemoryDC(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _gdi_.MemoryDC_swiginit(self,_gdi_.new_MemoryDC(*args, **kwargs))
     def SelectObject(*args, **kwargs):
         """
         SelectObject(self, Bitmap bitmap)
     def SelectObject(*args, **kwargs):
         """
         SelectObject(self, Bitmap bitmap)
@@ -4269,13 +3994,8 @@ class MemoryDC(DC):
         """
         return _gdi_.MemoryDC_SelectObject(*args, **kwargs)
 
         """
         return _gdi_.MemoryDC_SelectObject(*args, **kwargs)
 
-
-class MemoryDCPtr(MemoryDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = MemoryDC
-_gdi_.MemoryDC_swigregister(MemoryDCPtr)
+MemoryDC_swigregister = _gdi_.MemoryDC_swigregister
+MemoryDC_swigregister(MemoryDC)
 
 def MemoryDCFromDC(*args, **kwargs):
     """
 
 def MemoryDCFromDC(*args, **kwargs):
     """
@@ -4284,7 +4004,6 @@ def MemoryDCFromDC(*args, **kwargs):
     Creates a DC that is compatible with the oldDC.
     """
     val = _gdi_.new_MemoryDCFromDC(*args, **kwargs)
     Creates a DC that is compatible with the oldDC.
     """
     val = _gdi_.new_MemoryDCFromDC(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
     return val
 
 #---------------------------------------------------------------------------
@@ -4304,32 +4023,20 @@ class BufferedDC(MemoryDC):
     `wx.BufferedPaintDC`.
 
     """
     `wx.BufferedPaintDC`.
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBufferedDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args): 
         """
         __init__(self, DC dc, Bitmap buffer=NullBitmap, int style=BUFFER_CLIENT_AREA) -> BufferedDC
         __init__(self, DC dc, Size area, int style=BUFFER_CLIENT_AREA) -> BufferedDC
 
         Constructs a buffered DC.
         """
         """
         __init__(self, DC dc, Bitmap buffer=NullBitmap, int style=BUFFER_CLIENT_AREA) -> BufferedDC
         __init__(self, DC dc, Size area, int style=BUFFER_CLIENT_AREA) -> BufferedDC
 
         Constructs a buffered DC.
         """
-        newobj = _gdi_.new_BufferedDC(*args)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _gdi_.BufferedDC_swiginit(self,_gdi_.new_BufferedDC(*args))
         self.__dc = args[0] # save a ref so the other dc will not be deleted before self
 
         self.__dc = args[0] # save a ref so the other dc will not be deleted before self
 
-    def __del__(self, destroy=_gdi_.delete_BufferedDC):
-        """
-        __del__(self)
-
-        Copies everything drawn on the DC so far to the underlying DC
-        associated with this object, if any.
-        """
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+    __swig_destroy__ = _gdi_.delete_BufferedDC
+    __del__ = lambda self : None;
     def UnMask(*args, **kwargs):
         """
         UnMask(self)
     def UnMask(*args, **kwargs):
         """
         UnMask(self)
@@ -4340,13 +4047,8 @@ class BufferedDC(MemoryDC):
         """
         return _gdi_.BufferedDC_UnMask(*args, **kwargs)
 
         """
         return _gdi_.BufferedDC_UnMask(*args, **kwargs)
 
-
-class BufferedDCPtr(BufferedDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BufferedDC
-_gdi_.BufferedDC_swigregister(BufferedDCPtr)
+BufferedDC_swigregister = _gdi_.BufferedDC_swigregister
+BufferedDC_swigregister(BufferedDC)
 
 class BufferedPaintDC(BufferedDC):
     """
 
 class BufferedPaintDC(BufferedDC):
     """
@@ -4371,9 +4073,9 @@ class BufferedPaintDC(BufferedDC):
 
 
     """
 
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBufferedPaintDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window window, Bitmap buffer=NullBitmap, int style=BUFFER_CLIENT_AREA) -> BufferedPaintDC
 
         """
         __init__(self, Window window, Bitmap buffer=NullBitmap, int style=BUFFER_CLIENT_AREA) -> BufferedPaintDC
 
@@ -4384,17 +4086,9 @@ class BufferedPaintDC(BufferedDC):
 
 
         """
 
 
         """
-        newobj = _gdi_.new_BufferedPaintDC(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class BufferedPaintDCPtr(BufferedPaintDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BufferedPaintDC
-_gdi_.BufferedPaintDC_swigregister(BufferedPaintDCPtr)
+        _gdi_.BufferedPaintDC_swiginit(self,_gdi_.new_BufferedPaintDC(*args, **kwargs))
+BufferedPaintDC_swigregister = _gdi_.BufferedPaintDC_swigregister
+BufferedPaintDC_swigregister(BufferedPaintDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4405,9 +4099,9 @@ class ScreenDC(DC):
     wxScreenDC object.
 
     """
     wxScreenDC object.
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxScreenDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self) -> ScreenDC
 
         """
         __init__(self) -> ScreenDC
 
@@ -4416,10 +4110,7 @@ class ScreenDC(DC):
         wxScreenDC object.
 
         """
         wxScreenDC object.
 
         """
-        newobj = _gdi_.new_ScreenDC(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _gdi_.ScreenDC_swiginit(self,_gdi_.new_ScreenDC(*args, **kwargs))
     def StartDrawingOnTopWin(*args, **kwargs):
         """
         StartDrawingOnTopWin(self, Window window) -> bool
     def StartDrawingOnTopWin(*args, **kwargs):
         """
         StartDrawingOnTopWin(self, Window window) -> bool
@@ -4461,13 +4152,8 @@ class ScreenDC(DC):
         """
         return _gdi_.ScreenDC_EndDrawingOnTop(*args, **kwargs)
 
         """
         return _gdi_.ScreenDC_EndDrawingOnTop(*args, **kwargs)
 
-
-class ScreenDCPtr(ScreenDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ScreenDC
-_gdi_.ScreenDC_swigregister(ScreenDCPtr)
+ScreenDC_swigregister = _gdi_.ScreenDC_swigregister
+ScreenDC_swigregister(ScreenDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4485,25 +4171,17 @@ class ClientDC(DC):
     `wx.WindowDC` object (Windows only).
 
     """
     `wx.WindowDC` object (Windows only).
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxClientDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window win) -> ClientDC
 
         Constructor. Pass the window on which you wish to paint.
         """
         """
         __init__(self, Window win) -> ClientDC
 
         Constructor. Pass the window on which you wish to paint.
         """
-        newobj = _gdi_.new_ClientDC(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class ClientDCPtr(ClientDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ClientDC
-_gdi_.ClientDC_swigregister(ClientDCPtr)
+        _gdi_.ClientDC_swiginit(self,_gdi_.new_ClientDC(*args, **kwargs))
+ClientDC_swigregister = _gdi_.ClientDC_swigregister
+ClientDC_swigregister(ClientDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4524,25 +4202,17 @@ class PaintDC(DC):
     `wx.ClientDC` object.
 
     """
     `wx.ClientDC` object.
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPaintDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window win) -> PaintDC
 
         Constructor. Pass the window on which you wish to paint.
         """
         """
         __init__(self, Window win) -> PaintDC
 
         Constructor. Pass the window on which you wish to paint.
         """
-        newobj = _gdi_.new_PaintDC(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class PaintDCPtr(PaintDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PaintDC
-_gdi_.PaintDC_swigregister(PaintDCPtr)
+        _gdi_.PaintDC_swiginit(self,_gdi_.new_PaintDC(*args, **kwargs))
+PaintDC_swigregister = _gdi_.PaintDC_swigregister
+PaintDC_swigregister(PaintDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4553,25 +4223,17 @@ class WindowDC(DC):
     normally be constructed as a temporary stack object; don't store a
     wx.WindowDC object.
     """
     normally be constructed as a temporary stack object; don't store a
     wx.WindowDC object.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxWindowDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window win) -> WindowDC
 
         Constructor. Pass the window on which you wish to paint.
         """
         """
         __init__(self, Window win) -> WindowDC
 
         Constructor. Pass the window on which you wish to paint.
         """
-        newobj = _gdi_.new_WindowDC(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class WindowDCPtr(WindowDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = WindowDC
-_gdi_.WindowDC_swigregister(WindowDCPtr)
+        _gdi_.WindowDC_swiginit(self,_gdi_.new_WindowDC(*args, **kwargs))
+WindowDC_swigregister = _gdi_.WindowDC_swigregister
+WindowDC_swigregister(WindowDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4584,9 +4246,9 @@ class MirrorDC(DC):
     figure and its mirror -- i.e. reflection related to the diagonal line
     x == y.
     """
     figure and its mirror -- i.e. reflection related to the diagonal line
     x == y.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMirrorDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, DC dc, bool mirror) -> MirrorDC
 
         """
         __init__(self, DC dc, bool mirror) -> MirrorDC
 
@@ -4594,35 +4256,24 @@ class MirrorDC(DC):
         on the wx.MirrorDC will appear on the *dc*, and will be mirrored if
         *mirror* is True.
         """
         on the wx.MirrorDC will appear on the *dc*, and will be mirrored if
         *mirror* is True.
         """
-        newobj = _gdi_.new_MirrorDC(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class MirrorDCPtr(MirrorDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = MirrorDC
-_gdi_.MirrorDC_swigregister(MirrorDCPtr)
+        _gdi_.MirrorDC_swiginit(self,_gdi_.new_MirrorDC(*args, **kwargs))
+MirrorDC_swigregister = _gdi_.MirrorDC_swigregister
+MirrorDC_swigregister(MirrorDC)
 
 #---------------------------------------------------------------------------
 
 class PostScriptDC(DC):
     """This is a `wx.DC` that can write to PostScript files on any platform."""
 
 #---------------------------------------------------------------------------
 
 class PostScriptDC(DC):
     """This is a `wx.DC` that can write to PostScript files on any platform."""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPostScriptDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, wxPrintData printData) -> PostScriptDC
 
         Constructs a PostScript printer device context from a `wx.PrintData`
         object.
         """
         """
         __init__(self, wxPrintData printData) -> PostScriptDC
 
         Constructs a PostScript printer device context from a `wx.PrintData`
         object.
         """
-        newobj = _gdi_.new_PostScriptDC(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _gdi_.PostScriptDC_swiginit(self,_gdi_.new_PostScriptDC(*args, **kwargs))
     def GetPrintData(*args, **kwargs):
         """GetPrintData(self) -> wxPrintData"""
         return _gdi_.PostScriptDC_GetPrintData(*args, **kwargs)
     def GetPrintData(*args, **kwargs):
         """GetPrintData(self) -> wxPrintData"""
         return _gdi_.PostScriptDC_GetPrintData(*args, **kwargs)
@@ -4650,49 +4301,37 @@ class PostScriptDC(DC):
         return _gdi_.PostScriptDC_GetResolution(*args, **kwargs)
 
     GetResolution = staticmethod(GetResolution)
         return _gdi_.PostScriptDC_GetResolution(*args, **kwargs)
 
     GetResolution = staticmethod(GetResolution)
-
-class PostScriptDCPtr(PostScriptDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PostScriptDC
-_gdi_.PostScriptDC_swigregister(PostScriptDCPtr)
+PostScriptDC_swigregister = _gdi_.PostScriptDC_swigregister
+PostScriptDC_swigregister(PostScriptDC)
 
 def PostScriptDC_SetResolution(*args, **kwargs):
 
 def PostScriptDC_SetResolution(*args, **kwargs):
-    """
+  """
     PostScriptDC_SetResolution(int ppi)
 
     Set resolution (in pixels per inch) that will be used in PostScript
     output. Default is 720ppi.
     """
     PostScriptDC_SetResolution(int ppi)
 
     Set resolution (in pixels per inch) that will be used in PostScript
     output. Default is 720ppi.
     """
-    return _gdi_.PostScriptDC_SetResolution(*args, **kwargs)
+  return _gdi_.PostScriptDC_SetResolution(*args, **kwargs)
 
 
-def PostScriptDC_GetResolution(*args, **kwargs):
-    """
+def PostScriptDC_GetResolution(*args):
+  """
     PostScriptDC_GetResolution() -> int
 
     Return resolution used in PostScript output.
     """
     PostScriptDC_GetResolution() -> int
 
     Return resolution used in PostScript output.
     """
-    return _gdi_.PostScriptDC_GetResolution(*args, **kwargs)
+  return _gdi_.PostScriptDC_GetResolution(*args)
 
 #---------------------------------------------------------------------------
 
 class MetaFile(_core.Object):
     """Proxy of C++ MetaFile class"""
 
 #---------------------------------------------------------------------------
 
 class MetaFile(_core.Object):
     """Proxy of C++ MetaFile class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMetaFile instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, String filename=EmptyString) -> MetaFile"""
         """__init__(self, String filename=EmptyString) -> MetaFile"""
-        newobj = _gdi_.new_MetaFile(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_MetaFile):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.MetaFile_swiginit(self,_gdi_.new_MetaFile(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_MetaFile
+    __del__ = lambda self : None;
     def Ok(*args, **kwargs):
         """Ok(self) -> bool"""
         return _gdi_.MetaFile_Ok(*args, **kwargs)
     def Ok(*args, **kwargs):
         """Ok(self) -> bool"""
         return _gdi_.MetaFile_Ok(*args, **kwargs)
@@ -4718,56 +4357,35 @@ class MetaFile(_core.Object):
         return _gdi_.MetaFile_GetFileName(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
         return _gdi_.MetaFile_GetFileName(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
-
-class MetaFilePtr(MetaFile):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = MetaFile
-_gdi_.MetaFile_swigregister(MetaFilePtr)
+MetaFile_swigregister = _gdi_.MetaFile_swigregister
+MetaFile_swigregister(MetaFile)
 
 class MetaFileDC(DC):
     """Proxy of C++ MetaFileDC class"""
 
 class MetaFileDC(DC):
     """Proxy of C++ MetaFileDC class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMetaFileDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, String filename=EmptyString, int width=0, int height=0, 
             String description=EmptyString) -> MetaFileDC
         """
         """
         __init__(self, String filename=EmptyString, int width=0, int height=0, 
             String description=EmptyString) -> MetaFileDC
         """
-        newobj = _gdi_.new_MetaFileDC(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _gdi_.MetaFileDC_swiginit(self,_gdi_.new_MetaFileDC(*args, **kwargs))
     def Close(*args, **kwargs):
         """Close(self) -> MetaFile"""
         return _gdi_.MetaFileDC_Close(*args, **kwargs)
 
     def Close(*args, **kwargs):
         """Close(self) -> MetaFile"""
         return _gdi_.MetaFileDC_Close(*args, **kwargs)
 
-
-class MetaFileDCPtr(MetaFileDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = MetaFileDC
-_gdi_.MetaFileDC_swigregister(MetaFileDCPtr)
+MetaFileDC_swigregister = _gdi_.MetaFileDC_swigregister
+MetaFileDC_swigregister(MetaFileDC)
 
 class PrinterDC(DC):
     """Proxy of C++ PrinterDC class"""
 
 class PrinterDC(DC):
     """Proxy of C++ PrinterDC class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPrinterDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, wxPrintData printData) -> PrinterDC"""
         """__init__(self, wxPrintData printData) -> PrinterDC"""
-        newobj = _gdi_.new_PrinterDC(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class PrinterDCPtr(PrinterDC):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PrinterDC
-_gdi_.PrinterDC_swigregister(PrinterDCPtr)
+        _gdi_.PrinterDC_swiginit(self,_gdi_.new_PrinterDC(*args, **kwargs))
+PrinterDC_swigregister = _gdi_.PrinterDC_swigregister
+PrinterDC_swigregister(PrinterDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4780,20 +4398,13 @@ IMAGE_LIST_SMALL = _gdi_.IMAGE_LIST_SMALL
 IMAGE_LIST_STATE = _gdi_.IMAGE_LIST_STATE
 class ImageList(_core.Object):
     """Proxy of C++ ImageList class"""
 IMAGE_LIST_STATE = _gdi_.IMAGE_LIST_STATE
 class ImageList(_core.Object):
     """Proxy of C++ ImageList class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxImageList instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, int width, int height, int mask=True, int initialCount=1) -> ImageList"""
         """__init__(self, int width, int height, int mask=True, int initialCount=1) -> ImageList"""
-        newobj = _gdi_.new_ImageList(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_ImageList):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.ImageList_swiginit(self,_gdi_.new_ImageList(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_ImageList
+    __del__ = lambda self : None;
     def Add(*args, **kwargs):
         """Add(self, Bitmap bitmap, Bitmap mask=NullBitmap) -> int"""
         return _gdi_.ImageList_Add(*args, **kwargs)
     def Add(*args, **kwargs):
         """Add(self, Bitmap bitmap, Bitmap mask=NullBitmap) -> int"""
         return _gdi_.ImageList_Add(*args, **kwargs)
@@ -4841,79 +4452,197 @@ class ImageList(_core.Object):
         """GetSize() -> (width,height)"""
         return _gdi_.ImageList_GetSize(*args, **kwargs)
 
         """GetSize() -> (width,height)"""
         return _gdi_.ImageList_GetSize(*args, **kwargs)
 
-
-class ImageListPtr(ImageList):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ImageList
-_gdi_.ImageList_swigregister(ImageListPtr)
+ImageList_swigregister = _gdi_.ImageList_swigregister
+ImageList_swigregister(ImageList)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-class PenList(_core.Object):
-    """Proxy of C++ PenList class"""
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPenList instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def AddPen(*args, **kwargs):
-        """AddPen(self, Pen pen)"""
-        return _gdi_.PenList_AddPen(*args, **kwargs)
-
-    def FindOrCreatePen(*args, **kwargs):
-        """FindOrCreatePen(self, Colour colour, int width, int style) -> Pen"""
-        return _gdi_.PenList_FindOrCreatePen(*args, **kwargs)
+class StockGDI(object):
+    """Proxy of C++ StockGDI class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    BRUSH_BLACK = _gdi_.StockGDI_BRUSH_BLACK
+    BRUSH_BLUE = _gdi_.StockGDI_BRUSH_BLUE
+    BRUSH_CYAN = _gdi_.StockGDI_BRUSH_CYAN
+    BRUSH_GREEN = _gdi_.StockGDI_BRUSH_GREEN
+    BRUSH_GREY = _gdi_.StockGDI_BRUSH_GREY
+    BRUSH_LIGHTGREY = _gdi_.StockGDI_BRUSH_LIGHTGREY
+    BRUSH_MEDIUMGREY = _gdi_.StockGDI_BRUSH_MEDIUMGREY
+    BRUSH_RED = _gdi_.StockGDI_BRUSH_RED
+    BRUSH_TRANSPARENT = _gdi_.StockGDI_BRUSH_TRANSPARENT
+    BRUSH_WHITE = _gdi_.StockGDI_BRUSH_WHITE
+    COLOUR_BLACK = _gdi_.StockGDI_COLOUR_BLACK
+    COLOUR_BLUE = _gdi_.StockGDI_COLOUR_BLUE
+    COLOUR_CYAN = _gdi_.StockGDI_COLOUR_CYAN
+    COLOUR_GREEN = _gdi_.StockGDI_COLOUR_GREEN
+    COLOUR_LIGHTGREY = _gdi_.StockGDI_COLOUR_LIGHTGREY
+    COLOUR_RED = _gdi_.StockGDI_COLOUR_RED
+    COLOUR_WHITE = _gdi_.StockGDI_COLOUR_WHITE
+    CURSOR_CROSS = _gdi_.StockGDI_CURSOR_CROSS
+    CURSOR_HOURGLASS = _gdi_.StockGDI_CURSOR_HOURGLASS
+    CURSOR_STANDARD = _gdi_.StockGDI_CURSOR_STANDARD
+    FONT_ITALIC = _gdi_.StockGDI_FONT_ITALIC
+    FONT_NORMAL = _gdi_.StockGDI_FONT_NORMAL
+    FONT_SMALL = _gdi_.StockGDI_FONT_SMALL
+    FONT_SWISS = _gdi_.StockGDI_FONT_SWISS
+    PEN_BLACK = _gdi_.StockGDI_PEN_BLACK
+    PEN_BLACKDASHED = _gdi_.StockGDI_PEN_BLACKDASHED
+    PEN_CYAN = _gdi_.StockGDI_PEN_CYAN
+    PEN_GREEN = _gdi_.StockGDI_PEN_GREEN
+    PEN_GREY = _gdi_.StockGDI_PEN_GREY
+    PEN_LIGHTGREY = _gdi_.StockGDI_PEN_LIGHTGREY
+    PEN_MEDIUMGREY = _gdi_.StockGDI_PEN_MEDIUMGREY
+    PEN_RED = _gdi_.StockGDI_PEN_RED
+    PEN_TRANSPARENT = _gdi_.StockGDI_PEN_TRANSPARENT
+    PEN_WHITE = _gdi_.StockGDI_PEN_WHITE
+    ITEMCOUNT = _gdi_.StockGDI_ITEMCOUNT
+    def __init__(self, *args, **kwargs): 
+        """__init__(self) -> StockGDI"""
+        _gdi_.StockGDI_swiginit(self,_gdi_.new_StockGDI(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_StockGDI
+    __del__ = lambda self : None;
+    def DeleteAll(*args, **kwargs):
+        """DeleteAll()"""
+        return _gdi_.StockGDI_DeleteAll(*args, **kwargs)
+
+    DeleteAll = staticmethod(DeleteAll)
+    def instance(*args, **kwargs):
+        """instance() -> StockGDI"""
+        return _gdi_.StockGDI_instance(*args, **kwargs)
+
+    instance = staticmethod(instance)
+    def GetBrush(*args, **kwargs):
+        """GetBrush(int item) -> Brush"""
+        return _gdi_.StockGDI_GetBrush(*args, **kwargs)
 
 
-    def RemovePen(*args, **kwargs):
-        """RemovePen(self, Pen pen)"""
-        return _gdi_.PenList_RemovePen(*args, **kwargs)
+    GetBrush = staticmethod(GetBrush)
+    def GetColour(*args, **kwargs):
+        """GetColour(int item) -> Colour"""
+        return _gdi_.StockGDI_GetColour(*args, **kwargs)
 
 
-    def GetCount(*args, **kwargs):
-        """GetCount(self) -> int"""
-        return _gdi_.PenList_GetCount(*args, **kwargs)
+    GetColour = staticmethod(GetColour)
+    def GetCursor(*args, **kwargs):
+        """GetCursor(int item) -> Cursor"""
+        return _gdi_.StockGDI_GetCursor(*args, **kwargs)
 
 
+    GetCursor = staticmethod(GetCursor)
+    def GetPen(*args, **kwargs):
+        """GetPen(int item) -> Pen"""
+        return _gdi_.StockGDI_GetPen(*args, **kwargs)
 
 
-class PenListPtr(PenList):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PenList
-_gdi_.PenList_swigregister(PenListPtr)
+    GetPen = staticmethod(GetPen)
+    def GetFont(*args, **kwargs):
+        """GetFont(self, int item) -> Font"""
+        return _gdi_.StockGDI_GetFont(*args, **kwargs)
+
+StockGDI_swigregister = _gdi_.StockGDI_swigregister
+StockGDI_swigregister(StockGDI)
+
+def StockGDI_DeleteAll(*args):
+  """StockGDI_DeleteAll()"""
+  return _gdi_.StockGDI_DeleteAll(*args)
+
+def StockGDI_instance(*args):
+  """StockGDI_instance() -> StockGDI"""
+  return _gdi_.StockGDI_instance(*args)
+
+def StockGDI_GetBrush(*args, **kwargs):
+  """StockGDI_GetBrush(int item) -> Brush"""
+  return _gdi_.StockGDI_GetBrush(*args, **kwargs)
+
+def StockGDI_GetColour(*args, **kwargs):
+  """StockGDI_GetColour(int item) -> Colour"""
+  return _gdi_.StockGDI_GetColour(*args, **kwargs)
+
+def StockGDI_GetCursor(*args, **kwargs):
+  """StockGDI_GetCursor(int item) -> Cursor"""
+  return _gdi_.StockGDI_GetCursor(*args, **kwargs)
+
+def StockGDI_GetPen(*args, **kwargs):
+  """StockGDI_GetPen(int item) -> Pen"""
+  return _gdi_.StockGDI_GetPen(*args, **kwargs)
+
+# This function makes a class used to do delayed initialization of some
+# stock wx objects.  When they are used the first time then an init function
+# is called to make the real instance, which is then used to replace the
+# original instance and class seen by the programmer.
+def _wxPyMakeDelayedInitWrapper(initFunc):
+    class _wxPyStockObjectWrapper(object):
+        def __init__(self, *args):
+            self._args = args
+        def __getattr__(self, name):
+            obj = initFunc(*self._args)
+            self.__class__ = obj.__class__
+            self.__dict__ = obj.__dict__
+            return getattr(self, name)
+        def __str__(self):
+            return self.__getattr__("__str__")()
+        def __repr__(self):
+            return self.__getattr__("__repr__")()
+    return _wxPyStockObjectWrapper
+    
+def _wxPyFontInit(id):
+    return StockGDI.instance().GetFont(id)
+                                              
+_wxPyStockPen    = _wxPyMakeDelayedInitWrapper(StockGDI.GetPen)
+_wxPyStockBrush  = _wxPyMakeDelayedInitWrapper(StockGDI.GetBrush)
+_wxPyStockCursor = _wxPyMakeDelayedInitWrapper(StockGDI.GetCursor)
+_wxPyStockColour = _wxPyMakeDelayedInitWrapper(StockGDI.GetColour)                    
+_wxPyStockFont   = _wxPyMakeDelayedInitWrapper(_wxPyFontInit)
+
+
+ITALIC_FONT  = _wxPyStockCursor(StockGDI.FONT_ITALIC)
+NORMAL_FONT  = _wxPyStockCursor(StockGDI.FONT_NORMAL)
+SMALL_FONT   = _wxPyStockCursor(StockGDI.FONT_SMALL)
+SWISS_FONT   = _wxPyStockCursor(StockGDI.FONT_SWISS)
+                                              
+BLACK_DASHED_PEN  = _wxPyStockPen(StockGDI.PEN_BLACKDASHED)
+BLACK_PEN         = _wxPyStockPen(StockGDI.PEN_BLACK)
+CYAN_PEN          = _wxPyStockPen(StockGDI.PEN_CYAN)
+GREEN_PEN         = _wxPyStockPen(StockGDI.PEN_GREEN)
+GREY_PEN          = _wxPyStockPen(StockGDI.PEN_GREY)
+LIGHT_GREY_PEN    = _wxPyStockPen(StockGDI.PEN_LIGHTGREY)
+MEDIUM_GREY_PEN   = _wxPyStockPen(StockGDI.PEN_MEDIUMGREY)
+RED_PEN           = _wxPyStockPen(StockGDI.PEN_RED)
+TRANSPARENT_PEN   = _wxPyStockPen(StockGDI.PEN_TRANSPARENT)
+WHITE_PEN         = _wxPyStockPen(StockGDI.PEN_WHITE)
+
+BLACK_BRUSH        = _wxPyStockBrush(StockGDI.BRUSH_BLACK)
+BLUE_BRUSH         = _wxPyStockBrush(StockGDI.BRUSH_BLUE)
+CYAN_BRUSH         = _wxPyStockBrush(StockGDI.BRUSH_CYAN)
+GREEN_BRUSH        = _wxPyStockBrush(StockGDI.BRUSH_GREEN)
+GREY_BRUSH         = _wxPyStockBrush(StockGDI.BRUSH_GREY)
+LIGHT_GREY_BRUSH   = _wxPyStockBrush(StockGDI.BRUSH_LIGHTGREY)
+MEDIUM_GREY_BRUSH  = _wxPyStockBrush(StockGDI.BRUSH_MEDIUMGREY)
+RED_BRUSH          = _wxPyStockBrush(StockGDI.BRUSH_RED)
+TRANSPARENT_BRUSH  = _wxPyStockBrush(StockGDI.BRUSH_TRANSPARENT)
+WHITE_BRUSH        = _wxPyStockBrush(StockGDI.BRUSH_WHITE)
+
+BLACK       = _wxPyStockColour(StockGDI.COLOUR_BLACK)
+BLUE        = _wxPyStockColour(StockGDI.COLOUR_BLUE)
+CYAN        = _wxPyStockColour(StockGDI.COLOUR_CYAN)
+GREEN       = _wxPyStockColour(StockGDI.COLOUR_GREEN)
+LIGHT_GREY  = _wxPyStockColour(StockGDI.COLOUR_LIGHTGREY)
+RED         = _wxPyStockColour(StockGDI.COLOUR_RED)
+WHITE       = _wxPyStockColour(StockGDI.COLOUR_WHITE)
+    
+CROSS_CURSOR      = _wxPyStockCursor(StockGDI.CURSOR_CROSS)
+HOURGLASS_CURSOR  = _wxPyStockCursor(StockGDI.CURSOR_HOURGLASS)
+STANDARD_CURSOR   = _wxPyStockCursor(StockGDI.CURSOR_STANDARD)
+    
+
+class GDIObjListBase(object):
+    """Proxy of C++ GDIObjListBase class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self) -> GDIObjListBase"""
+        _gdi_.GDIObjListBase_swiginit(self,_gdi_.new_GDIObjListBase(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_GDIObjListBase
+    __del__ = lambda self : None;
+GDIObjListBase_swigregister = _gdi_.GDIObjListBase_swigregister
+GDIObjListBase_swigregister(GDIObjListBase)
 cvar = _gdi_.cvar
 cvar = _gdi_.cvar
-NORMAL_FONT = cvar.NORMAL_FONT
-SMALL_FONT = cvar.SMALL_FONT
-ITALIC_FONT = cvar.ITALIC_FONT
-SWISS_FONT = cvar.SWISS_FONT
-RED_PEN = cvar.RED_PEN
-CYAN_PEN = cvar.CYAN_PEN
-GREEN_PEN = cvar.GREEN_PEN
-BLACK_PEN = cvar.BLACK_PEN
-WHITE_PEN = cvar.WHITE_PEN
-TRANSPARENT_PEN = cvar.TRANSPARENT_PEN
-BLACK_DASHED_PEN = cvar.BLACK_DASHED_PEN
-GREY_PEN = cvar.GREY_PEN
-MEDIUM_GREY_PEN = cvar.MEDIUM_GREY_PEN
-LIGHT_GREY_PEN = cvar.LIGHT_GREY_PEN
-BLUE_BRUSH = cvar.BLUE_BRUSH
-GREEN_BRUSH = cvar.GREEN_BRUSH
-WHITE_BRUSH = cvar.WHITE_BRUSH
-BLACK_BRUSH = cvar.BLACK_BRUSH
-TRANSPARENT_BRUSH = cvar.TRANSPARENT_BRUSH
-CYAN_BRUSH = cvar.CYAN_BRUSH
-RED_BRUSH = cvar.RED_BRUSH
-GREY_BRUSH = cvar.GREY_BRUSH
-MEDIUM_GREY_BRUSH = cvar.MEDIUM_GREY_BRUSH
-LIGHT_GREY_BRUSH = cvar.LIGHT_GREY_BRUSH
-BLACK = cvar.BLACK
-WHITE = cvar.WHITE
-RED = cvar.RED
-BLUE = cvar.BLUE
-GREEN = cvar.GREEN
-CYAN = cvar.CYAN
-LIGHT_GREY = cvar.LIGHT_GREY
-STANDARD_CURSOR = cvar.STANDARD_CURSOR
-HOURGLASS_CURSOR = cvar.HOURGLASS_CURSOR
-CROSS_CURSOR = cvar.CROSS_CURSOR
 NullBitmap = cvar.NullBitmap
 NullIcon = cvar.NullIcon
 NullCursor = cvar.NullCursor
 NullBitmap = cvar.NullBitmap
 NullIcon = cvar.NullIcon
 NullCursor = cvar.NullCursor
@@ -4923,51 +4652,88 @@ NullPalette = cvar.NullPalette
 NullFont = cvar.NullFont
 NullColour = cvar.NullColour
 
 NullFont = cvar.NullFont
 NullColour = cvar.NullColour
 
-class BrushList(_core.Object):
-    """Proxy of C++ BrushList class"""
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBrushList instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def AddBrush(*args, **kwargs):
-        """AddBrush(self, Brush brush)"""
-        return _gdi_.BrushList_AddBrush(*args, **kwargs)
+class PenList(GDIObjListBase):
+    """Proxy of C++ PenList class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    def FindOrCreatePen(*args, **kwargs):
+        """FindOrCreatePen(self, Colour colour, int width, int style) -> Pen"""
+        return _gdi_.PenList_FindOrCreatePen(*args, **kwargs)
 
 
+    def AddPen(*args, **kwargs):
+        """AddPen(self, Pen pen)"""
+        return _gdi_.PenList_AddPen(*args, **kwargs)
+
+    def RemovePen(*args, **kwargs):
+        """RemovePen(self, Pen pen)"""
+        return _gdi_.PenList_RemovePen(*args, **kwargs)
+
+    AddPen = wx._deprecated(AddPen)
+    RemovePen = wx._deprecated(RemovePen)
+
+PenList_swigregister = _gdi_.PenList_swigregister
+PenList_swigregister(PenList)
+
+class BrushList(GDIObjListBase):
+    """Proxy of C++ BrushList class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
     def FindOrCreateBrush(*args, **kwargs):
         """FindOrCreateBrush(self, Colour colour, int style=SOLID) -> Brush"""
         return _gdi_.BrushList_FindOrCreateBrush(*args, **kwargs)
 
     def FindOrCreateBrush(*args, **kwargs):
         """FindOrCreateBrush(self, Colour colour, int style=SOLID) -> Brush"""
         return _gdi_.BrushList_FindOrCreateBrush(*args, **kwargs)
 
+    def AddBrush(*args, **kwargs):
+        """AddBrush(self, Brush brush)"""
+        return _gdi_.BrushList_AddBrush(*args, **kwargs)
+
     def RemoveBrush(*args, **kwargs):
         """RemoveBrush(self, Brush brush)"""
         return _gdi_.BrushList_RemoveBrush(*args, **kwargs)
 
     def RemoveBrush(*args, **kwargs):
         """RemoveBrush(self, Brush brush)"""
         return _gdi_.BrushList_RemoveBrush(*args, **kwargs)
 
-    def GetCount(*args, **kwargs):
-        """GetCount(self) -> int"""
-        return _gdi_.BrushList_GetCount(*args, **kwargs)
+    AddBrush = wx._deprecated(AddBrush)
+    RemoveBrush = wx._deprecated(RemoveBrush)
+
+BrushList_swigregister = _gdi_.BrushList_swigregister
+BrushList_swigregister(BrushList)
+
+class FontList(GDIObjListBase):
+    """Proxy of C++ FontList class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    def FindOrCreateFont(*args, **kwargs):
+        """
+        FindOrCreateFont(self, int point_size, int family, int style, int weight, 
+            bool underline=False, String facename=EmptyString, 
+            int encoding=FONTENCODING_DEFAULT) -> Font
+        """
+        return _gdi_.FontList_FindOrCreateFont(*args, **kwargs)
+
+    def AddFont(*args, **kwargs):
+        """AddFont(self, Font font)"""
+        return _gdi_.FontList_AddFont(*args, **kwargs)
+
+    def RemoveFont(*args, **kwargs):
+        """RemoveFont(self, Font font)"""
+        return _gdi_.FontList_RemoveFont(*args, **kwargs)
 
 
+    AddFont = wx._deprecated(AddFont)
+    RemoveFont = wx._deprecated(RemoveFont)
 
 
-class BrushListPtr(BrushList):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BrushList
-_gdi_.BrushList_swigregister(BrushListPtr)
+FontList_swigregister = _gdi_.FontList_swigregister
+FontList_swigregister(FontList)
 
 
-class ColourDatabase(_core.Object):
+class ColourDatabase(object):
     """Proxy of C++ ColourDatabase class"""
     """Proxy of C++ ColourDatabase class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxColourDatabase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> ColourDatabase"""
         """__init__(self) -> ColourDatabase"""
-        newobj = _gdi_.new_ColourDatabase(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_gdi_.delete_ColourDatabase):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _gdi_.ColourDatabase_swiginit(self,_gdi_.new_ColourDatabase(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_ColourDatabase
+    __del__ = lambda self : None;
     def Find(*args, **kwargs):
         """Find(self, String name) -> Colour"""
         return _gdi_.ColourDatabase_Find(*args, **kwargs)
     def Find(*args, **kwargs):
         """Find(self, String name) -> Colour"""
         return _gdi_.ColourDatabase_Find(*args, **kwargs)
@@ -4985,62 +4751,42 @@ class ColourDatabase(_core.Object):
         """Append(self, String name, int red, int green, int blue)"""
         return _gdi_.ColourDatabase_Append(*args, **kwargs)
 
         """Append(self, String name, int red, int green, int blue)"""
         return _gdi_.ColourDatabase_Append(*args, **kwargs)
 
+ColourDatabase_swigregister = _gdi_.ColourDatabase_swigregister
+ColourDatabase_swigregister(ColourDatabase)
 
 
-class ColourDatabasePtr(ColourDatabase):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ColourDatabase
-_gdi_.ColourDatabase_swigregister(ColourDatabasePtr)
+#---------------------------------------------------------------------------
 
 
-class FontList(_core.Object):
-    """Proxy of C++ FontList class"""
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxFontList instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def AddFont(*args, **kwargs):
-        """AddFont(self, Font font)"""
-        return _gdi_.FontList_AddFont(*args, **kwargs)
 
 
-    def FindOrCreateFont(*args, **kwargs):
-        """
-        FindOrCreateFont(self, int point_size, int family, int style, int weight, 
-            bool underline=False, String facename=EmptyString, 
-            int encoding=FONTENCODING_DEFAULT) -> Font
-        """
-        return _gdi_.FontList_FindOrCreateFont(*args, **kwargs)
+def _wxPyInitTheFontList(*args):
+  """_wxPyInitTheFontList() -> FontList"""
+  return _gdi_._wxPyInitTheFontList(*args)
 
 
-    def RemoveFont(*args, **kwargs):
-        """RemoveFont(self, Font font)"""
-        return _gdi_.FontList_RemoveFont(*args, **kwargs)
+def _wxPyInitThePenList(*args):
+  """_wxPyInitThePenList() -> PenList"""
+  return _gdi_._wxPyInitThePenList(*args)
 
 
-    def GetCount(*args, **kwargs):
-        """GetCount(self) -> int"""
-        return _gdi_.FontList_GetCount(*args, **kwargs)
+def _wxPyInitTheBrushList(*args):
+  """_wxPyInitTheBrushList() -> BrushList"""
+  return _gdi_._wxPyInitTheBrushList(*args)
 
 
-
-class FontListPtr(FontList):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = FontList
-_gdi_.FontList_swigregister(FontListPtr)
-
-#---------------------------------------------------------------------------
+def _wxPyInitTheColourDatabase(*args):
+  """_wxPyInitTheColourDatabase() -> ColourDatabase"""
+  return _gdi_._wxPyInitTheColourDatabase(*args)
+wxTheFontList       = _wxPyMakeDelayedInitWrapper(_wxPyInitTheFontList)()
+wxThePenList        = _wxPyMakeDelayedInitWrapper(_wxPyInitThePenList)()
+wxTheBrushList      = _wxPyMakeDelayedInitWrapper(_wxPyInitTheBrushList)()
+wxTheColourDatabase = _wxPyMakeDelayedInitWrapper(_wxPyInitTheColourDatabase)()
 
 NullColor = NullColour 
 #---------------------------------------------------------------------------
 
 class Effects(_core.Object):
     """Proxy of C++ Effects class"""
 
 NullColor = NullColour 
 #---------------------------------------------------------------------------
 
 class Effects(_core.Object):
     """Proxy of C++ Effects class"""
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxEffects instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> Effects"""
         """__init__(self) -> Effects"""
-        newobj = _gdi_.new_Effects(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _gdi_.Effects_swiginit(self,_gdi_.new_Effects(*args, **kwargs))
     def GetHighlightColour(*args, **kwargs):
         """GetHighlightColour(self) -> Colour"""
         return _gdi_.Effects_GetHighlightColour(*args, **kwargs)
     def GetHighlightColour(*args, **kwargs):
         """GetHighlightColour(self) -> Colour"""
         return _gdi_.Effects_GetHighlightColour(*args, **kwargs)
@@ -5096,16 +4842,287 @@ class Effects(_core.Object):
         """TileBitmap(self, Rect rect, DC dc, Bitmap bitmap) -> bool"""
         return _gdi_.Effects_TileBitmap(*args, **kwargs)
 
         """TileBitmap(self, Rect rect, DC dc, Bitmap bitmap) -> bool"""
         return _gdi_.Effects_TileBitmap(*args, **kwargs)
 
+Effects_swigregister = _gdi_.Effects_swigregister
+Effects_swigregister(Effects)
+
+#---------------------------------------------------------------------------
+
+CONTROL_DISABLED = _gdi_.CONTROL_DISABLED
+CONTROL_FOCUSED = _gdi_.CONTROL_FOCUSED
+CONTROL_PRESSED = _gdi_.CONTROL_PRESSED
+CONTROL_ISDEFAULT = _gdi_.CONTROL_ISDEFAULT
+CONTROL_ISSUBMENU = _gdi_.CONTROL_ISSUBMENU
+CONTROL_EXPANDED = _gdi_.CONTROL_EXPANDED
+CONTROL_CURRENT = _gdi_.CONTROL_CURRENT
+CONTROL_SELECTED = _gdi_.CONTROL_SELECTED
+CONTROL_CHECKED = _gdi_.CONTROL_CHECKED
+CONTROL_CHECKABLE = _gdi_.CONTROL_CHECKABLE
+CONTROL_UNDETERMINED = _gdi_.CONTROL_UNDETERMINED
+CONTROL_FLAGS_MASK = _gdi_.CONTROL_FLAGS_MASK
+CONTROL_DIRTY = _gdi_.CONTROL_DIRTY
+class SplitterRenderParams(object):
+    """
+    This is just a simple struct used as a return value of
+    `wx.RendererNative.GetSplitterParams` and contains some platform
+    specific metrics about splitters.
+
+        * widthSash: the width of the splitter sash.
+        * border: the width of the border of the splitter window.
+        * isHotSensitive: ``True`` if the splitter changes its
+          appearance when the mouse is over it.
+
+
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, int widthSash_, int border_, bool isSens_) -> SplitterRenderParams
+
+        This is just a simple struct used as a return value of
+        `wx.RendererNative.GetSplitterParams` and contains some platform
+        specific metrics about splitters.
+
+            * widthSash: the width of the splitter sash.
+            * border: the width of the border of the splitter window.
+            * isHotSensitive: ``True`` if the splitter changes its
+              appearance when the mouse is over it.
+
+
+        """
+        _gdi_.SplitterRenderParams_swiginit(self,_gdi_.new_SplitterRenderParams(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_SplitterRenderParams
+    __del__ = lambda self : None;
+    widthSash = property(_gdi_.SplitterRenderParams_widthSash_get)
+    border = property(_gdi_.SplitterRenderParams_border_get)
+    isHotSensitive = property(_gdi_.SplitterRenderParams_isHotSensitive_get)
+SplitterRenderParams_swigregister = _gdi_.SplitterRenderParams_swigregister
+SplitterRenderParams_swigregister(SplitterRenderParams)
+
+class RendererVersion(object):
+    """
+    This simple struct represents the `wx.RendererNative` interface
+    version and is only used as the return value of
+    `wx.RendererNative.GetVersion`.
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, int version_, int age_) -> RendererVersion
+
+        This simple struct represents the `wx.RendererNative` interface
+        version and is only used as the return value of
+        `wx.RendererNative.GetVersion`.
+        """
+        _gdi_.RendererVersion_swiginit(self,_gdi_.new_RendererVersion(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_RendererVersion
+    __del__ = lambda self : None;
+    Current_Version = _gdi_.RendererVersion_Current_Version
+    Current_Age = _gdi_.RendererVersion_Current_Age
+    def IsCompatible(*args, **kwargs):
+        """IsCompatible(RendererVersion ver) -> bool"""
+        return _gdi_.RendererVersion_IsCompatible(*args, **kwargs)
+
+    IsCompatible = staticmethod(IsCompatible)
+    version = property(_gdi_.RendererVersion_version_get)
+    age = property(_gdi_.RendererVersion_age_get)
+RendererVersion_swigregister = _gdi_.RendererVersion_swigregister
+RendererVersion_swigregister(RendererVersion)
+
+def RendererVersion_IsCompatible(*args, **kwargs):
+  """RendererVersion_IsCompatible(RendererVersion ver) -> bool"""
+  return _gdi_.RendererVersion_IsCompatible(*args, **kwargs)
+
+class RendererNative(object):
+    """
+    One of the design principles of wxWidgets is to use the native widgets
+    on every platform in order to be as close to the native look and feel
+    on every platform.  However there are still cases when some generic
+    widgets are needed for various reasons, but it can sometimes take a
+    lot of messy work to make them conform to the native LnF.
+
+    The wx.RendererNative class is a collection of functions that have
+    platform-specific implementations for drawing certain parts of
+    genereic controls in ways that are as close to the native look as
+    possible.
+
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    def DrawHeaderButton(*args, **kwargs):
+        """
+        DrawHeaderButton(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw the header control button (such as what is used by `wx.ListCtrl`
+        in report mode.)
+        """
+        return _gdi_.RendererNative_DrawHeaderButton(*args, **kwargs)
+
+    def DrawTreeItemButton(*args, **kwargs):
+        """
+        DrawTreeItemButton(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw the expanded/collapsed icon for a tree control item.
+        """
+        return _gdi_.RendererNative_DrawTreeItemButton(*args, **kwargs)
+
+    def DrawSplitterBorder(*args, **kwargs):
+        """
+        DrawSplitterBorder(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw the border for a sash window: this border must be such that the
+        sash drawn by `DrawSplitterSash` blends into it well.
+        """
+        return _gdi_.RendererNative_DrawSplitterBorder(*args, **kwargs)
+
+    def DrawSplitterSash(*args, **kwargs):
+        """
+        DrawSplitterSash(self, Window win, DC dc, Size size, int position, int orient, 
+            int flags=0)
+
+        Draw a sash. The orient parameter defines whether the sash should be
+        vertical or horizontal and how the position should be interpreted.
+        """
+        return _gdi_.RendererNative_DrawSplitterSash(*args, **kwargs)
+
+    def DrawComboBoxDropButton(*args, **kwargs):
+        """
+        DrawComboBoxDropButton(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw a button like the one used by `wx.ComboBox` to show a drop down
+        window. The usual appearance is a downwards pointing arrow.
+
+        The ``flags`` parameter may have the ``wx.CONTROL_PRESSED`` or
+        ``wx.CONTROL_CURRENT`` bits set.
+        """
+        return _gdi_.RendererNative_DrawComboBoxDropButton(*args, **kwargs)
+
+    def DrawDropArrow(*args, **kwargs):
+        """
+        DrawDropArrow(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw a drop down arrow that is suitable for use outside a combo
+        box. Arrow will have a transparent background.
+
+        ``rect`` is not entirely filled by the arrow. Instead, you should use
+        bounding rectangle of a drop down button which arrow matches the size
+        you need. ``flags`` may have the ``wx.CONTROL_PRESSED`` or
+        ``wx.CONTROL_CURRENT`` bit set.
+        """
+        return _gdi_.RendererNative_DrawDropArrow(*args, **kwargs)
+
+    def DrawCheckButton(*args, **kwargs):
+        """
+        DrawCheckButton(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw a check button.  Flags may use wx.CONTROL_CHECKED,
+        wx.CONTROL_UNDETERMINED and wx.CONTROL_CURRENT.
+        """
+        return _gdi_.RendererNative_DrawCheckButton(*args, **kwargs)
+
+    def GetSplitterParams(*args, **kwargs):
+        """
+        GetSplitterParams(self, Window win) -> SplitterRenderParams
+
+        Get the splitter parameters, see `wx.SplitterRenderParams`.
+        """
+        return _gdi_.RendererNative_GetSplitterParams(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """
+        Get() -> RendererNative
+
+        Return the currently used renderer
+        """
+        return _gdi_.RendererNative_Get(*args, **kwargs)
+
+    Get = staticmethod(Get)
+    def GetGeneric(*args, **kwargs):
+        """
+        GetGeneric() -> RendererNative
+
+        Return the generic implementation of the renderer. Under some
+        platforms, this is the default renderer implementation, others have
+        platform-specific default renderer which can be retrieved by calling
+        `GetDefault`.
+        """
+        return _gdi_.RendererNative_GetGeneric(*args, **kwargs)
+
+    GetGeneric = staticmethod(GetGeneric)
+    def GetDefault(*args, **kwargs):
+        """
+        GetDefault() -> RendererNative
+
+        Return the default (native) implementation for this platform -- this
+        is also the one used by default but this may be changed by calling `Set`
+        in which case the return value of this method may be different from
+        the return value of `Get`.
+        """
+        return _gdi_.RendererNative_GetDefault(*args, **kwargs)
+
+    GetDefault = staticmethod(GetDefault)
+    def Set(*args, **kwargs):
+        """
+        Set(RendererNative renderer) -> RendererNative
+
+        Set the renderer to use, passing None reverts to using the default
+        renderer.  Returns the previous renderer used with Set or None.
+        """
+        return _gdi_.RendererNative_Set(*args, **kwargs)
+
+    Set = staticmethod(Set)
+    def GetVersion(*args, **kwargs):
+        """
+        GetVersion(self) -> RendererVersion
+
+        Returns the version of the renderer.  Will be used for ensuring
+        compatibility of dynamically loaded renderers.
+        """
+        return _gdi_.RendererNative_GetVersion(*args, **kwargs)
+
+RendererNative_swigregister = _gdi_.RendererNative_swigregister
+RendererNative_swigregister(RendererNative)
+
+def RendererNative_Get(*args):
+  """
+    RendererNative_Get() -> RendererNative
+
+    Return the currently used renderer
+    """
+  return _gdi_.RendererNative_Get(*args)
+
+def RendererNative_GetGeneric(*args):
+  """
+    RendererNative_GetGeneric() -> RendererNative
+
+    Return the generic implementation of the renderer. Under some
+    platforms, this is the default renderer implementation, others have
+    platform-specific default renderer which can be retrieved by calling
+    `GetDefault`.
+    """
+  return _gdi_.RendererNative_GetGeneric(*args)
+
+def RendererNative_GetDefault(*args):
+  """
+    RendererNative_GetDefault() -> RendererNative
+
+    Return the default (native) implementation for this platform -- this
+    is also the one used by default but this may be changed by calling `Set`
+    in which case the return value of this method may be different from
+    the return value of `Get`.
+    """
+  return _gdi_.RendererNative_GetDefault(*args)
+
+def RendererNative_Set(*args, **kwargs):
+  """
+    RendererNative_Set(RendererNative renderer) -> RendererNative
+
+    Set the renderer to use, passing None reverts to using the default
+    renderer.  Returns the previous renderer used with Set or None.
+    """
+  return _gdi_.RendererNative_Set(*args, **kwargs)
 
 
-class EffectsPtr(Effects):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Effects
-_gdi_.Effects_swigregister(EffectsPtr)
-TheFontList = cvar.TheFontList
-ThePenList = cvar.ThePenList
-TheBrushList = cvar.TheBrushList
-TheColourDatabase = cvar.TheColourDatabase