]> git.saurik.com Git - wxWidgets.git/commitdiff
reSWIGged
authorRobin Dunn <robin@alldunn.com>
Wed, 18 Oct 2006 23:51:19 +0000 (23:51 +0000)
committerRobin Dunn <robin@alldunn.com>
Wed, 18 Oct 2006 23:51:19 +0000 (23:51 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42105 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/src/gtk/_gdi.py
wxPython/src/gtk/_gdi_wrap.cpp
wxPython/src/gtk/_misc.py
wxPython/src/mac/_gdi.py
wxPython/src/mac/_gdi_wrap.cpp
wxPython/src/mac/_misc.py
wxPython/src/msw/_gdi.py
wxPython/src/msw/_gdi_wrap.cpp
wxPython/src/msw/_misc.py

index b2dcd21f6b1bd0b9ec1bbd543ae8d7570219f3b9..335c1b37a14b68a983a3efc335e4379edd67be57 100644 (file)
@@ -406,6 +406,18 @@ class Brush(GDIObject):
     A brush is a drawing tool for filling in areas. It is used for
     painting the background of rectangles, ellipses, etc. when drawing on
     a `wx.DC`.  It has a colour and a style.
     A brush is a drawing tool for filling in areas. It is used for
     painting the background of rectangles, ellipses, etc. when drawing on
     a `wx.DC`.  It has a colour and a style.
+
+    :warning: Do not create instances of wx.Brush before the `wx.App`
+        object has been created because, depending on the platform,
+        required internal data structures may not have been initialized
+        yet.  Instead create your brushes in the app's OnInit or as they
+        are needed for drawing.
+
+    :note: On monochrome displays all brushes are white, unless the colour
+        really is black.
+
+    :see: `wx.BrushList`, `wx.DC`, `wx.DC.SetBrush`
+
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -413,7 +425,24 @@ class Brush(GDIObject):
         """
         __init__(self, Colour colour, int style=SOLID) -> Brush
 
         """
         __init__(self, Colour colour, int style=SOLID) -> Brush
 
-        Constructs a brush from a `wx.Colour` object and a style.
+        Constructs a brush from a `wx.Colour` object and a style.The style parameter may be one of the following:
+
+            ===================   =============================
+            Style                 Meaning
+            ===================   =============================
+            wx.TRANSPARENT        Transparent (no fill).
+            wx.SOLID              Solid.
+            wx.STIPPLE            Uses a bitmap as a stipple.
+            wx.BDIAGONAL_HATCH    Backward diagonal hatch.
+            wx.CROSSDIAG_HATCH    Cross-diagonal hatch.
+            wx.FDIAGONAL_HATCH    Forward diagonal hatch.
+            wx.CROSS_HATCH        Cross hatch.
+            wx.HORIZONTAL_HATCH   Horizontal hatch.
+            wx.VERTICAL_HATCH     Vertical hatch.
+            ===================   =============================
+
+        :see: `wx.BrushFromBitmap`
+
         """
         _gdi_.Brush_swiginit(self,_gdi_.new_Brush(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Brush
         """
         _gdi_.Brush_swiginit(self,_gdi_.new_Brush(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Brush
@@ -509,6 +538,23 @@ class Bitmap(GDIObject):
     device context (instance of `wx.MemoryDC`). This enables the bitmap to
     be copied to a window or memory device context using `wx.DC.Blit`, or
     to be used as a drawing surface.
     device context (instance of `wx.MemoryDC`). This enables the bitmap to
     be copied to a window or memory device context using `wx.DC.Blit`, or
     to be used as a drawing surface.
+
+    The BMP and XMP image file formats are supported on all platforms by
+    wx.Bitmap.  Other formats are automatically loaded by `wx.Image` and
+    converted to a wx.Bitmap, so any image file format supported by
+    `wx.Image` can be used.
+
+    :todo: Add wrappers and support for raw bitmap data access.  Can this
+           be be put into Python without losing the speed benefits of the
+           teplates and iterators in rawbmp.h?
+
+    :todo: Find a way to do very efficient PIL Image <--> wx.Bitmap
+           converstions.
+
+    :see: `wx.EmptyBitmap`, `wx.BitmapFromIcon`, `wx.BitmapFromImage`,
+          `wx.BitmapFromXPMData`, `wx.BitmapFromBits`, `wx.BitmapFromBuffer`,
+          `wx.BitmapFromBufferRGBA`, `wx.Image`
+
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -517,6 +563,32 @@ class Bitmap(GDIObject):
         __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.
+            :param name:  Name of the file to load the bitmap from.
+            :param type: The type of image to expect.  Can be one of the following
+                constants (assuming that the neccessary `wx.Image` handlers are
+                loaded):
+
+                * wx.BITMAP_TYPE_ANY
+                * wx.BITMAP_TYPE_BMP
+                * wx.BITMAP_TYPE_ICO
+                * wx.BITMAP_TYPE_CUR
+                * wx.BITMAP_TYPE_XBM
+                * wx.BITMAP_TYPE_XPM
+                * wx.BITMAP_TYPE_TIF
+                * wx.BITMAP_TYPE_GIF
+                * wx.BITMAP_TYPE_PNG
+                * wx.BITMAP_TYPE_JPEG
+                * wx.BITMAP_TYPE_PNM
+                * wx.BITMAP_TYPE_PCX
+                * wx.BITMAP_TYPE_PICT
+                * wx.BITMAP_TYPE_ICON
+                * wx.BITMAP_TYPE_ANI
+                * wx.BITMAP_TYPE_IFF
+
+        :see: Alternate constructors `wx.EmptyBitmap`, `wx.BitmapFromIcon`,
+              `wx.BitmapFromImage`, `wx.BitmapFromXPMData`, `wx.BitmapFromBits`,
+              `wx.BitmapFromBuffer`, `wx.BitmapFromBufferRGBA`,
+
         """
         _gdi_.Bitmap_swiginit(self,_gdi_.new_Bitmap(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Bitmap
         """
         _gdi_.Bitmap_swiginit(self,_gdi_.new_Bitmap(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Bitmap
@@ -1248,6 +1320,40 @@ class Cursor(GDIObject):
     in X, rather than to set it globally as in MS Windows, although a
     global `wx.SetCursor` function is also available for use on MS Windows.
 
     in X, rather than to set it globally as in MS Windows, although a
     global `wx.SetCursor` function is also available for use on MS Windows.
 
+
+    Stock Cursor IDs
+    -----------------
+        ========================    ======================================
+        wx.CURSOR_ARROW             A standard arrow cursor.
+        wx.CURSOR_RIGHT_ARROW       A standard arrow cursor pointing to the right.
+        wx.CURSOR_BLANK             Transparent cursor.
+        wx.CURSOR_BULLSEYE          Bullseye cursor.
+        wx.CURSOR_CHAR              Rectangular character cursor.
+        wx.CURSOR_CROSS             A cross cursor.
+        wx.CURSOR_HAND              A hand cursor.
+        wx.CURSOR_IBEAM             An I-beam cursor (vertical line).
+        wx.CURSOR_LEFT_BUTTON       Represents a mouse with the left button depressed.
+        wx.CURSOR_MAGNIFIER         A magnifier icon.
+        wx.CURSOR_MIDDLE_BUTTON     Represents a mouse with the middle button depressed.
+        wx.CURSOR_NO_ENTRY          A no-entry sign cursor.
+        wx.CURSOR_PAINT_BRUSH       A paintbrush cursor.
+        wx.CURSOR_PENCIL            A pencil cursor.
+        wx.CURSOR_POINT_LEFT        A cursor that points left.
+        wx.CURSOR_POINT_RIGHT       A cursor that points right.
+        wx.CURSOR_QUESTION_ARROW    An arrow and question mark.
+        wx.CURSOR_RIGHT_BUTTON      Represents a mouse with the right button depressed.
+        wx.CURSOR_SIZENESW          A sizing cursor pointing NE-SW.
+        wx.CURSOR_SIZENS            A sizing cursor pointing N-S.
+        wx.CURSOR_SIZENWSE          A sizing cursor pointing NW-SE.
+        wx.CURSOR_SIZEWE            A sizing cursor pointing W-E.
+        wx.CURSOR_SIZING            A general sizing cursor.
+        wx.CURSOR_SPRAYCAN          A spraycan cursor.
+        wx.CURSOR_WAIT              A wait cursor.
+        wx.CURSOR_WATCH             A watch cursor.
+        wx.CURSOR_ARROWWAIT         A cursor with both an arrow and an hourglass, (windows.)
+        ========================    ======================================
+
+
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -1258,6 +1364,7 @@ class Cursor(GDIObject):
         Construct a Cursor from a file.  Specify the type of file using
         wx.BITAMP_TYPE* constants, and specify the hotspot if not using a .cur
         file.
         Construct a Cursor from a file.  Specify the type of file using
         wx.BITAMP_TYPE* constants, and specify the hotspot if not using a .cur
         file.
+        :see: Alternate constructors `wx.StockCursor`,`wx.CursorFromImage`
         """
         _gdi_.Cursor_swiginit(self,_gdi_.new_Cursor(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Cursor
         """
         _gdi_.Cursor_swiginit(self,_gdi_.new_Cursor(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Cursor
@@ -1286,6 +1393,11 @@ def CursorFromImage(*args, **kwargs):
 
     Constructs a cursor from a `wx.Image`. The mask (if any) will be used
     for setting the transparent portions of the cursor.
 
     Constructs a cursor from a `wx.Image`. The mask (if any) will be used
     for setting the transparent portions of the cursor.
+    In MSW the cursor is resized to 32x32 if it was larger.
+
+    In GTK the cursor will be displayed at the size of the image.
+
+    On MacOS the cursor is resized to 16x16 if it was larger.
     """
     val = _gdi_.new_CursorFromImage(*args, **kwargs)
     return val
     """
     val = _gdi_.new_CursorFromImage(*args, **kwargs)
     return val
@@ -1858,6 +1970,71 @@ class Font(GDIObject):
     of a window's text.
 
     You can retrieve the current system font settings with `wx.SystemSettings`.
     of a window's text.
 
     You can retrieve the current system font settings with `wx.SystemSettings`.
+
+    The possible values for the family parameter of wx.Font constructor are:
+
+        ========================  =============================
+        wx.FONTFAMILY_DEFAULT     Chooses a default font.
+        wx.FONTFAMILY_DECORATIVE  A decorative font. 
+        wx.FONTFAMILY_ROMAN       A formal, serif font.
+        wx.FONTFAMILY_SCRIPT      A handwriting font. 
+        wx.FONTFAMILY_SWISS       A sans-serif font. 
+        wx.FONTFAMILY_MODERN      Usually a fixed pitch font.    
+        wx.FONTFAMILY_TELETYPE    A teletype font. 
+        ========================  =============================
+
+    The possible values for the weight parameter are:
+
+        ====================  ==
+        wx.FONTWEIGHT_NORMAL
+        wx.FONTWEIGHT_LIGHT
+        wx.FONTWEIGHT_BOLD
+        ====================  ==
+
+    The known font encodings are:
+
+        ===========================       ====================================
+        wx.FONTENCODING_SYSTEM            system default
+        wx.FONTENCODING_DEFAULT           current default encoding
+        wx.FONTENCODING_ISO8859_1         West European (Latin1)
+        wx.FONTENCODING_ISO8859_2         Central and East European (Latin2)
+        wx.FONTENCODING_ISO8859_3         Esperanto (Latin3)
+        wx.FONTENCODING_ISO8859_4         Baltic (old) (Latin4)
+        wx.FONTENCODING_ISO8859_5         Cyrillic
+        wx.FONTENCODING_ISO8859_6         Arabic
+        wx.FONTENCODING_ISO8859_7         Greek
+        wx.FONTENCODING_ISO8859_8         Hebrew
+        wx.FONTENCODING_ISO8859_9         Turkish (Latin5)
+        wx.FONTENCODING_ISO8859_10        Variation of Latin4 (Latin6)
+        wx.FONTENCODING_ISO8859_11        Thai
+        wx.FONTENCODING_ISO8859_12        doesn't exist currently, but put it
+                                          here anyhow to make all ISO8859
+                                          consecutive numbers
+        wx.FONTENCODING_ISO8859_13        Baltic (Latin7)
+        wx.FONTENCODING_ISO8859_14        Latin8
+        wx.FONTENCODING_ISO8859_15        Latin9 (a.k.a. Latin0, includes euro)
+        wx.FONTENCODING_KOI8              Cyrillic charset
+        wx.FONTENCODING_ALTERNATIVE       same as MS-DOS CP866
+        wx.FONTENCODING_BULGARIAN         used under Linux in Bulgaria
+        wx.FONTENCODING_CP437             original MS-DOS codepage
+        wx.FONTENCODING_CP850             CP437 merged with Latin1
+        wx.FONTENCODING_CP852             CP437 merged with Latin2
+        wx.FONTENCODING_CP855             another cyrillic encoding
+        wx.FONTENCODING_CP866             and another one
+        wx.FONTENCODING_CP874             WinThai
+        wx.FONTENCODING_CP1250            WinLatin2
+        wx.FONTENCODING_CP1251            WinCyrillic
+        wx.FONTENCODING_CP1252            WinLatin1
+        wx.FONTENCODING_CP1253            WinGreek (8859-7)
+        wx.FONTENCODING_CP1254            WinTurkish
+        wx.FONTENCODING_CP1255            WinHebrew
+        wx.FONTENCODING_CP1256            WinArabic
+        wx.FONTENCODING_CP1257            WinBaltic (same as Latin 7)
+        wx.FONTENCODING_UTF7              UTF-7 Unicode encoding
+        wx.FONTENCODING_UTF8              UTF-8 Unicode encoding
+        ===========================       ====================================
+
+
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -3200,6 +3377,8 @@ class DC(_core.Object):
         Draws a circle with the given center point and radius.  The current
         pen is used for the outline and the current brush for filling the
         shape.
         Draws a circle with the given center point and radius.  The current
         pen is used for the outline and the current brush for filling the
         shape.
+
+        :see: `DrawEllipse`
         """
         return _gdi_.DC_DrawCircle(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawCircle(*args, **kwargs)
 
@@ -3210,6 +3389,8 @@ class DC(_core.Object):
         Draws a circle with the given center point and radius.  The current
         pen is used for the outline and the current brush for filling the
         shape.
         Draws a circle with the given center point and radius.  The current
         pen is used for the outline and the current brush for filling the
         shape.
+
+        :see: `DrawEllipse`
         """
         return _gdi_.DC_DrawCirclePoint(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawCirclePoint(*args, **kwargs)
 
@@ -3219,6 +3400,8 @@ class DC(_core.Object):
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
+
+        :see: `DrawCircle`
         """
         return _gdi_.DC_DrawEllipse(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawEllipse(*args, **kwargs)
 
@@ -3228,6 +3411,8 @@ class DC(_core.Object):
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
+
+        :see: `DrawCircle`
         """
         return _gdi_.DC_DrawEllipseRect(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawEllipseRect(*args, **kwargs)
 
@@ -3237,6 +3422,8 @@ class DC(_core.Object):
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
+
+        :see: `DrawCircle`
         """
         return _gdi_.DC_DrawEllipsePointSize(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawEllipsePointSize(*args, **kwargs)
 
@@ -3268,6 +3455,13 @@ class DC(_core.Object):
         *transparent* is true and the bitmap has a transparency mask, (or
         alpha channel on the platforms that support it) then the bitmap will
         be drawn transparently.
         *transparent* is true and the bitmap has a transparency mask, (or
         alpha channel on the platforms that support it) then the bitmap will
         be drawn transparently.
+
+        When drawing a mono-bitmap, the current text foreground colour will be
+        used to draw the foreground of the bitmap (all bits set to 1), and the
+        current text background colour to draw the background (all bits set to
+        0).
+
+        :see: `SetTextForeground`, `SetTextBackground` and `wx.MemoryDC`
         """
         return _gdi_.DC_DrawBitmap(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawBitmap(*args, **kwargs)
 
@@ -3279,6 +3473,13 @@ class DC(_core.Object):
         *transparent* is true and the bitmap has a transparency mask, (or
         alpha channel on the platforms that support it) then the bitmap will
         be drawn transparently.
         *transparent* is true and the bitmap has a transparency mask, (or
         alpha channel on the platforms that support it) then the bitmap will
         be drawn transparently.
+
+        When drawing a mono-bitmap, the current text foreground colour will be
+        used to draw the foreground of the bitmap (all bits set to 1), and the
+        current text background colour to draw the background (all bits set to
+        0).
+
+        :see: `SetTextForeground`, `SetTextBackground` and `wx.MemoryDC`
         """
         return _gdi_.DC_DrawBitmapPoint(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawBitmapPoint(*args, **kwargs)
 
@@ -3296,6 +3497,8 @@ class DC(_core.Object):
         **NOTE**: under wxGTK the current logical function is used by this
         function but it is ignored by wxMSW. Thus, you should avoid using
         logical functions with this function in portable programs.
         **NOTE**: under wxGTK the current logical function is used by this
         function but it is ignored by wxMSW. Thus, you should avoid using
         logical functions with this function in portable programs.
+
+        :see: `DrawRotatedText`
         """
         return _gdi_.DC_DrawText(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawText(*args, **kwargs)
 
@@ -3313,6 +3516,8 @@ class DC(_core.Object):
         **NOTE**: under wxGTK the current logical function is used by this
         function but it is ignored by wxMSW. Thus, you should avoid using
         logical functions with this function in portable programs.
         **NOTE**: under wxGTK the current logical function is used by this
         function but it is ignored by wxMSW. Thus, you should avoid using
         logical functions with this function in portable programs.
+
+        :see: `DrawRotatedText`
         """
         return _gdi_.DC_DrawTextPoint(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawTextPoint(*args, **kwargs)
 
@@ -3326,6 +3531,8 @@ class DC(_core.Object):
         function. In particular, a font different from ``wx.NORMAL_FONT``
         should be used as the it is not normally a TrueType
         font. ``wx.SWISS_FONT`` is an example of a font which is.
         function. In particular, a font different from ``wx.NORMAL_FONT``
         should be used as the it is not normally a TrueType
         font. ``wx.SWISS_FONT`` is an example of a font which is.
+
+        :see: `DrawText`
         """
         return _gdi_.DC_DrawRotatedText(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawRotatedText(*args, **kwargs)
 
@@ -3339,6 +3546,8 @@ class DC(_core.Object):
         function. In particular, a font different from ``wx.NORMAL_FONT``
         should be used as the it is not normally a TrueType
         font. ``wx.SWISS_FONT`` is an example of a font which is.
         function. In particular, a font different from ``wx.NORMAL_FONT``
         should be used as the it is not normally a TrueType
         font. ``wx.SWISS_FONT`` is an example of a font which is.
+
+        :see: `DrawText`
         """
         return _gdi_.DC_DrawRotatedTextPoint(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawRotatedTextPoint(*args, **kwargs)
 
@@ -3352,6 +3561,23 @@ class DC(_core.Object):
         coordinates, size of area to copy, source DC, source coordinates,
         logical function, whether to use a bitmap mask, and mask source
         position.
         coordinates, size of area to copy, source DC, source coordinates,
         logical function, whether to use a bitmap mask, and mask source
         position.
+
+            :param xdest:       Destination device context x position.
+            :param ydest:       Destination device context y position.
+            :param width:       Width of source area to be copied.
+            :param height:      Height of source area to be copied.
+            :param source:      Source device context.
+            :param xsrc:        Source device context x position.
+            :param ysrc:        Source device context y position.
+            :param rop:         Logical function to use: see `SetLogicalFunction`.
+            :param useMask:     If true, Blit does a transparent blit using the mask
+                                that is associated with the bitmap selected into the
+                                source device context.
+            :param xsrcMask:    Source x position on the mask. If both xsrcMask and
+                                ysrcMask are -1, xsrc and ysrc will be assumed for
+                                the mask source position.
+            :param ysrcMask:    Source y position on the mask. 
+
         """
         return _gdi_.DC_Blit(*args, **kwargs)
 
         """
         return _gdi_.DC_Blit(*args, **kwargs)
 
@@ -3364,6 +3590,17 @@ class DC(_core.Object):
         coordinates, size of area to copy, source DC, source coordinates,
         logical function, whether to use a bitmap mask, and mask source
         position.
         coordinates, size of area to copy, source DC, source coordinates,
         logical function, whether to use a bitmap mask, and mask source
         position.
+
+            :param destPt:      Destination device context position.
+            :param sz:          Size of source area to be copied.
+            :param source:      Source device context.
+            :param srcPt:       Source device context position.
+            :param rop:         Logical function to use: see `SetLogicalFunction`.
+            :param useMask:     If true, Blit does a transparent blit using the mask
+                                that is associated with the bitmap selected into the
+                                source device context.
+            :param srcPtMask:   Source position on the mask. 
+
         """
         return _gdi_.DC_BlitPointSize(*args, **kwargs)
 
         """
         return _gdi_.DC_BlitPointSize(*args, **kwargs)
 
@@ -3381,6 +3618,8 @@ class DC(_core.Object):
         restricted. Possible uses for the clipping region are for clipping
         text or for speeding up window redraws when only a known area of the
         screen is damaged.
         restricted. Possible uses for the clipping region are for clipping
         text or for speeding up window redraws when only a known area of the
         screen is damaged.
+
+        :see: `DestroyClippingRegion`, `wx.Region`
         """
         return _gdi_.DC_SetClippingRegion(*args, **kwargs)
 
         """
         return _gdi_.DC_SetClippingRegion(*args, **kwargs)
 
@@ -3398,6 +3637,8 @@ class DC(_core.Object):
         restricted. Possible uses for the clipping region are for clipping
         text or for speeding up window redraws when only a known area of the
         screen is damaged.
         restricted. Possible uses for the clipping region are for clipping
         text or for speeding up window redraws when only a known area of the
         screen is damaged.
+
+        :see: `DestroyClippingRegion`, `wx.Region`
         """
         return _gdi_.DC_SetClippingRegionPointSize(*args, **kwargs)
 
         """
         return _gdi_.DC_SetClippingRegionPointSize(*args, **kwargs)
 
@@ -3415,6 +3656,8 @@ class DC(_core.Object):
         restricted. Possible uses for the clipping region are for clipping
         text or for speeding up window redraws when only a known area of the
         screen is damaged.
         restricted. Possible uses for the clipping region are for clipping
         text or for speeding up window redraws when only a known area of the
         screen is damaged.
+
+        :see: `DestroyClippingRegion`, `wx.Region`
         """
         return _gdi_.DC_SetClippingRegionAsRegion(*args, **kwargs)
 
         """
         return _gdi_.DC_SetClippingRegionAsRegion(*args, **kwargs)
 
@@ -3432,6 +3675,8 @@ class DC(_core.Object):
         restricted. Possible uses for the clipping region are for clipping
         text or for speeding up window redraws when only a known area of the
         screen is damaged.
         restricted. Possible uses for the clipping region are for clipping
         text or for speeding up window redraws when only a known area of the
         screen is damaged.
+
+        :see: `DestroyClippingRegion`, `wx.Region`
         """
         return _gdi_.DC_SetClippingRect(*args, **kwargs)
 
         """
         return _gdi_.DC_SetClippingRect(*args, **kwargs)
 
@@ -3469,6 +3714,8 @@ class DC(_core.Object):
         Draw *text* within the specified rectangle, abiding by the alignment
         flags.  Will additionally emphasize the character at *indexAccel* if
         it is not -1.
         Draw *text* within the specified rectangle, abiding by the alignment
         flags.  Will additionally emphasize the character at *indexAccel* if
         it is not -1.
+
+        :see: `DrawImageLabel`
         """
         return _gdi_.DC_DrawLabel(*args, **kwargs)
 
         """
         return _gdi_.DC_DrawLabel(*args, **kwargs)
 
@@ -3541,6 +3788,8 @@ class DC(_core.Object):
 
         Sets the current font for the DC. It must be a valid font, in
         particular you should not pass ``wx.NullFont`` to this method.
 
         Sets the current font for the DC. It must be a valid font, in
         particular you should not pass ``wx.NullFont`` to this method.
+
+        :see: `wx.Font`
         """
         return _gdi_.DC_SetFont(*args, **kwargs)
 
         """
         return _gdi_.DC_SetFont(*args, **kwargs)
 
@@ -3552,6 +3801,8 @@ class DC(_core.Object):
 
         If the argument is ``wx.NullPen``, the current pen is selected out of the
         device context, and the original pen restored.
 
         If the argument is ``wx.NullPen``, the current pen is selected out of the
         device context, and the original pen restored.
+
+        :see: `wx.Pen`
         """
         return _gdi_.DC_SetPen(*args, **kwargs)
 
         """
         return _gdi_.DC_SetPen(*args, **kwargs)
 
@@ -3564,6 +3815,8 @@ class DC(_core.Object):
         If the argument is ``wx.NullBrush``, the current brush is selected out
         of the device context, and the original brush restored, allowing the
         current brush to be destroyed safely.
         If the argument is ``wx.NullBrush``, the current brush is selected out
         of the device context, and the original brush restored, allowing the
         current brush to be destroyed safely.
+
+        :see: `wx.Brush`
         """
         return _gdi_.DC_SetBrush(*args, **kwargs)
 
         """
         return _gdi_.DC_SetBrush(*args, **kwargs)
 
@@ -3593,6 +3846,8 @@ class DC(_core.Object):
         window or bitmap associated with the DC. If the argument is
         ``wx.NullPalette``, the current palette is selected out of the device
         context, and the original palette restored.
         window or bitmap associated with the DC. If the argument is
         ``wx.NullPalette``, the current palette is selected out of the device
         context, and the original palette restored.
+
+        :see: `wx.Palette`
         """
         return _gdi_.DC_SetPalette(*args, **kwargs)
 
         """
         return _gdi_.DC_SetPalette(*args, **kwargs)
 
@@ -3602,6 +3857,8 @@ class DC(_core.Object):
 
         Destroys the current clipping region so that none of the DC is
         clipped.
 
         Destroys the current clipping region so that none of the DC is
         clipped.
+
+        :see: `SetClippingRegion`
         """
         return _gdi_.DC_DestroyClippingRegion(*args, **kwargs)
 
         """
         return _gdi_.DC_DestroyClippingRegion(*args, **kwargs)
 
@@ -3847,6 +4104,8 @@ class DC(_core.Object):
 
         Returns the current background mode, either ``wx.SOLID`` or
         ``wx.TRANSPARENT``.
 
         Returns the current background mode, either ``wx.SOLID`` or
         ``wx.TRANSPARENT``.
+
+        :see: `SetBackgroundMode`
         """
         return _gdi_.DC_GetBackgroundMode(*args, **kwargs)
 
         """
         return _gdi_.DC_GetBackgroundMode(*args, **kwargs)
 
@@ -3855,6 +4114,8 @@ class DC(_core.Object):
         GetBackground(self) -> Brush
 
         Gets the brush used for painting the background.
         GetBackground(self) -> Brush
 
         Gets the brush used for painting the background.
+
+        :see: `SetBackground`
         """
         return _gdi_.DC_GetBackground(*args, **kwargs)
 
         """
         return _gdi_.DC_GetBackground(*args, **kwargs)
 
@@ -3939,6 +4200,18 @@ class DC(_core.Object):
             wx.MM_TEXT          Each logical unit is 1 pixel.
             ================    =============================================
 
             wx.MM_TEXT          Each logical unit is 1 pixel.
             ================    =============================================
 
+        Note that in X, text drawing isn't handled consistently with the
+        mapping mode; a font is always specified in point size. However,
+        setting the user scale (see `SetUserScale`) scales the text
+        appropriately. In Windows, scalable TrueType fonts are always used; in
+        X, results depend on availability of fonts, but usually a reasonable
+        match is found.
+
+        The coordinate origin is always at the top left of the screen/printer.
+
+        Drawing to a Windows printer device context uses the current mapping
+        mode, but mapping mode is currently ignored for PostScript output.
+
         """
         return _gdi_.DC_SetMapMode(*args, **kwargs)
 
         """
         return _gdi_.DC_SetMapMode(*args, **kwargs)
 
@@ -4411,6 +4684,8 @@ class MemoryDC(DC):
         creating a usable device context. If a bitmap is not given to this
         constructor then don't forget to select a bitmap into the DC before
         drawing on it.
         creating a usable device context. If a bitmap is not given to this
         constructor then don't forget to select a bitmap into the DC before
         drawing on it.
+
+        :see: `MemoryDCFromDC`
         """
         _gdi_.MemoryDC_swiginit(self,_gdi_.new_MemoryDC(*args, **kwargs))
     def SelectObject(*args, **kwargs):
         """
         _gdi_.MemoryDC_swiginit(self,_gdi_.new_MemoryDC(*args, **kwargs))
     def SelectObject(*args, **kwargs):
@@ -4442,88 +4717,6 @@ def MemoryDCFromDC(*args, **kwargs):
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-BUFFER_VIRTUAL_AREA = _gdi_.BUFFER_VIRTUAL_AREA
-BUFFER_CLIENT_AREA = _gdi_.BUFFER_CLIENT_AREA
-class BufferedDC(MemoryDC):
-    """
-    This simple class provides a simple way to avoid flicker: when drawing
-    on it, everything is in fact first drawn on an in-memory buffer (a
-    `wx.Bitmap`) and then copied to the screen only once, when this object
-    is destroyed.
-
-    It can be used in the same way as any other device context.
-    wx.BufferedDC itself typically replaces `wx.ClientDC`, if you want to
-    use it in your EVT_PAINT handler, you should look at
-    `wx.BufferedPaintDC`.
-
-    Please note that GTK+ 2.0 and OS X provide double buffering themselves
-    natively. wxBufferedDC is aware of this however, and will bypass the buffering
-    unless an explicit buffer bitmap is given.
-
-    """
-    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.
-        """
-        _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
-
-    __swig_destroy__ = _gdi_.delete_BufferedDC
-    __del__ = lambda self : None;
-    def UnMask(*args, **kwargs):
-        """
-        UnMask(self)
-
-        Blits the buffer to the dc, and detaches the dc from the buffer (so it
-        can be effectively used once only).  This is usually only called in
-        the destructor.
-        """
-        return _gdi_.BufferedDC_UnMask(*args, **kwargs)
-
-_gdi_.BufferedDC_swigregister(BufferedDC)
-
-class BufferedPaintDC(BufferedDC):
-    """
-    This is a subclass of `wx.BufferedDC` which can be used inside of an
-    EVT_PAINT event handler. Just create an object of this class instead
-    of `wx.PaintDC` and that's all you have to do to (mostly) avoid
-    flicker. The only thing to watch out for is that if you are using this
-    class together with `wx.ScrolledWindow`, you probably do **not** want
-    to call `wx.Window.PrepareDC` on it as it already does this internally
-    for the real underlying `wx.PaintDC`.
-
-    If your window is already fully buffered in a `wx.Bitmap` then your
-    EVT_PAINT handler can be as simple as just creating a
-    ``wx.BufferedPaintDC`` as it will `Blit` the buffer to the window
-    automatically when it is destroyed.  For example::
-
-        def OnPaint(self, event):
-            dc = wx.BufferedPaintDC(self, self.buffer)
-
-
-
-    """
-    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
-
-        Create a buffered paint DC.  As with `wx.BufferedDC`, you may either
-        provide the bitmap to be used for buffering or let this object create
-        one internally (in the latter case, the size of the client part of the
-        window is automatically used).
-        """
-        _gdi_.BufferedPaintDC_swiginit(self,_gdi_.new_BufferedPaintDC(*args, **kwargs))
-_gdi_.BufferedPaintDC_swigregister(BufferedPaintDC)
-
-#---------------------------------------------------------------------------
-
 class ScreenDC(DC):
     """
     A wxScreenDC can be used to paint anywhere on the screen. This should
 class ScreenDC(DC):
     """
     A wxScreenDC can be used to paint anywhere on the screen. This should
@@ -4665,20 +4858,133 @@ _gdi_.PaintDC_swigregister(PaintDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-if 'wxMac' in wx.PlatformInfo or 'gtk2' in wx.PlatformInfo:
-    _AutoBufferedPaintDCBase = PaintDC
-else:
-    _AutoBufferedPaintDCBase = BufferedPaintDC
-        
-class AutoBufferedPaintDC(_AutoBufferedPaintDCBase):
+BUFFER_VIRTUAL_AREA = _gdi_.BUFFER_VIRTUAL_AREA
+BUFFER_CLIENT_AREA = _gdi_.BUFFER_CLIENT_AREA
+class BufferedDC(MemoryDC):
+    """
+    This simple class provides a simple way to avoid flicker: when drawing
+    on it, everything is in fact first drawn on an in-memory buffer (a
+    `wx.Bitmap`) and then copied to the screen only once, when this object
+    is destroyed.
+
+    It can be used in the same way as any other device context.
+    wx.BufferedDC itself typically replaces `wx.ClientDC`, if you want to
+    use it in your EVT_PAINT handler, you should look at
+    `wx.BufferedPaintDC`.
+
+    Please note that GTK+ 2.0 and OS X provide double buffering themselves
+    natively. wxBufferedDC is aware of this however, and will bypass the buffering
+    unless an explicit buffer bitmap is given.
+
+    """
+    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.
+
+            :param dc: The underlying DC: everything drawn to this object will
+                be flushed to this DC when this object is destroyed. You may
+                pass ``None`` in order to just initialize the buffer, and not
+                flush it.
+
+            :param buffer: If a `wx.Size` object is passed as the 2nd arg then
+                it is the size of the bitmap that will be created internally
+                and used for an implicit buffer. If the 2nd arg is a
+                `wx.Bitmap` then it is the explicit buffer that will be
+                used. Using an explicit buffer is the most efficient solution
+                as the bitmap doesn't have to be recreated each time but it
+                also requires more memory as the bitmap is never freed. The
+                bitmap should have appropriate size, anything drawn outside of
+                its bounds is clipped.  If wx.NullBitmap is used then a new
+                buffer will be allocated that is the same size as the dc.
+
+            :param style: The style parameter indicates whether the supplied buffer is
+                intended to cover the entire virtual size of a `wx.ScrolledWindow` or
+                if it only covers the client area.  Acceptable values are
+                ``wx.BUFFER_VIRTUAL_AREA`` and ``wx.BUFFER_CLIENT_AREA``.
+
+
+        """
+        _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
+
+    __swig_destroy__ = _gdi_.delete_BufferedDC
+    __del__ = lambda self : None;
+    def UnMask(*args, **kwargs):
+        """
+        UnMask(self)
+
+        Blits the buffer to the dc, and detaches the dc from the buffer (so it
+        can be effectively used once only).  This is usually only called in
+        the destructor.
+        """
+        return _gdi_.BufferedDC_UnMask(*args, **kwargs)
+
+_gdi_.BufferedDC_swigregister(BufferedDC)
+
+class BufferedPaintDC(BufferedDC):
+    """
+    This is a subclass of `wx.BufferedDC` which can be used inside of an
+    EVT_PAINT event handler. Just create an object of this class instead
+    of `wx.PaintDC` and that's all you have to do to (mostly) avoid
+    flicker. The only thing to watch out for is that if you are using this
+    class together with `wx.ScrolledWindow`, you probably do **not** want
+    to call `wx.Window.PrepareDC` on it as it already does this internally
+    for the real underlying `wx.PaintDC`.
+
+    If your window is already fully buffered in a `wx.Bitmap` then your
+    EVT_PAINT handler can be as simple as just creating a
+    ``wx.BufferedPaintDC`` as it will `Blit` the buffer to the window
+    automatically when it is destroyed.  For example::
+
+        def OnPaint(self, event):
+            dc = wx.BufferedPaintDC(self, self.buffer)
+
+
+
+    """
+    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
+
+        Create a buffered paint DC.  As with `wx.BufferedDC`, you may either
+        provide the bitmap to be used for buffering or let this object create
+        one internally (in the latter case, the size of the client part of the
+        window is automatically used).
+        """
+        _gdi_.BufferedPaintDC_swiginit(self,_gdi_.new_BufferedPaintDC(*args, **kwargs))
+_gdi_.BufferedPaintDC_swigregister(BufferedPaintDC)
+
+#---------------------------------------------------------------------------
+
+class AutoBufferedPaintDC(DC):
     """
     If the current platform double buffers by default then this DC is the
     same as a plain `wx.PaintDC`, otherwise it is a `wx.BufferedPaintDC`.
 
     :see: `wx.AutoBufferedPaintDCFactory`
     """
     If the current platform double buffers by default then this DC is the
     same as a plain `wx.PaintDC`, otherwise it is a `wx.BufferedPaintDC`.
 
     :see: `wx.AutoBufferedPaintDCFactory`
+
     """
     """
-    def __init__(self, window):
-        _AutoBufferedPaintDCBase.__init__(self, window)
+    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) -> AutoBufferedPaintDC
+
+        If the current platform double buffers by default then this DC is the
+        same as a plain `wx.PaintDC`, otherwise it is a `wx.BufferedPaintDC`.
+
+        :see: `wx.AutoBufferedPaintDCFactory`
+
+        """
+        _gdi_.AutoBufferedPaintDC_swiginit(self,_gdi_.new_AutoBufferedPaintDC(*args, **kwargs))
+_gdi_.AutoBufferedPaintDC_swigregister(AutoBufferedPaintDC)
 
 
 def AutoBufferedPaintDCFactory(*args, **kwargs):
 
 
 def AutoBufferedPaintDCFactory(*args, **kwargs):
@@ -4686,10 +4992,10 @@ def AutoBufferedPaintDCFactory(*args, **kwargs):
     AutoBufferedPaintDCFactory(Window window) -> DC
 
     Checks if the window is natively double buffered and will return a
     AutoBufferedPaintDCFactory(Window window) -> DC
 
     Checks if the window is natively double buffered and will return a
-    `wx.PaintDC` if it is, a `wx.BufferedPaintDC` otherwise.  The
-    advantage of this function over `wx.AutoBufferedPaintDC` is that this
-    function will check if the the specified window supports has
-    double-buffering enabled rather than just going by platform defaults.
+    `wx.PaintDC` if it is, a `wx.BufferedPaintDC` otherwise.  The advantage of
+    this function over `wx.AutoBufferedPaintDC` is that this function will check
+    if the the specified window has double-buffering enabled rather than just
+    going by platform defaults.
     """
   return _gdi_.AutoBufferedPaintDCFactory(*args, **kwargs)
 #---------------------------------------------------------------------------
     """
   return _gdi_.AutoBufferedPaintDCFactory(*args, **kwargs)
 #---------------------------------------------------------------------------
@@ -6386,6 +6692,8 @@ class PseudoDC(_core.Object):
         Draws a circle with the given center point and radius.  The current
         pen is used for the outline and the current brush for filling the
         shape.
         Draws a circle with the given center point and radius.  The current
         pen is used for the outline and the current brush for filling the
         shape.
+
+        :see: `DrawEllipse`
         """
         return _gdi_.PseudoDC_DrawCircle(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawCircle(*args, **kwargs)
 
@@ -6396,6 +6704,8 @@ class PseudoDC(_core.Object):
         Draws a circle with the given center point and radius.  The current
         pen is used for the outline and the current brush for filling the
         shape.
         Draws a circle with the given center point and radius.  The current
         pen is used for the outline and the current brush for filling the
         shape.
+
+        :see: `DrawEllipse`
         """
         return _gdi_.PseudoDC_DrawCirclePoint(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawCirclePoint(*args, **kwargs)
 
@@ -6405,6 +6715,8 @@ class PseudoDC(_core.Object):
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
+
+        :see: `DrawCircle`
         """
         return _gdi_.PseudoDC_DrawEllipse(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawEllipse(*args, **kwargs)
 
@@ -6414,6 +6726,8 @@ class PseudoDC(_core.Object):
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
+
+        :see: `DrawCircle`
         """
         return _gdi_.PseudoDC_DrawEllipseRect(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawEllipseRect(*args, **kwargs)
 
@@ -6423,6 +6737,8 @@ class PseudoDC(_core.Object):
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
 
         Draws an ellipse contained in the specified rectangle. The current pen
         is used for the outline and the current brush for filling the shape.
+
+        :see: `DrawCircle`
         """
         return _gdi_.PseudoDC_DrawEllipsePointSize(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawEllipsePointSize(*args, **kwargs)
 
@@ -6454,6 +6770,13 @@ class PseudoDC(_core.Object):
         *transparent* is true and the bitmap has a transparency mask, (or
         alpha channel on the platforms that support it) then the bitmap will
         be drawn transparently.
         *transparent* is true and the bitmap has a transparency mask, (or
         alpha channel on the platforms that support it) then the bitmap will
         be drawn transparently.
+
+        When drawing a mono-bitmap, the current text foreground colour will be
+        used to draw the foreground of the bitmap (all bits set to 1), and the
+        current text background colour to draw the background (all bits set to
+        0).
+
+        :see: `SetTextForeground`, `SetTextBackground` and `wx.MemoryDC`
         """
         return _gdi_.PseudoDC_DrawBitmap(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawBitmap(*args, **kwargs)
 
@@ -6465,6 +6788,13 @@ class PseudoDC(_core.Object):
         *transparent* is true and the bitmap has a transparency mask, (or
         alpha channel on the platforms that support it) then the bitmap will
         be drawn transparently.
         *transparent* is true and the bitmap has a transparency mask, (or
         alpha channel on the platforms that support it) then the bitmap will
         be drawn transparently.
+
+        When drawing a mono-bitmap, the current text foreground colour will be
+        used to draw the foreground of the bitmap (all bits set to 1), and the
+        current text background colour to draw the background (all bits set to
+        0).
+
+        :see: `SetTextForeground`, `SetTextBackground` and `wx.MemoryDC`
         """
         return _gdi_.PseudoDC_DrawBitmapPoint(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawBitmapPoint(*args, **kwargs)
 
@@ -6484,6 +6814,8 @@ class PseudoDC(_core.Object):
         **NOTE**: under wxGTK the current logical function is used by this
         function but it is ignored by wxMSW. Thus, you should avoid using
         logical functions with this function in portable programs.
         **NOTE**: under wxGTK the current logical function is used by this
         function but it is ignored by wxMSW. Thus, you should avoid using
         logical functions with this function in portable programs.
+
+        :see: `DrawRotatedText`
         """
         return _gdi_.PseudoDC_DrawText(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawText(*args, **kwargs)
 
@@ -6503,6 +6835,8 @@ class PseudoDC(_core.Object):
         **NOTE**: under wxGTK the current logical function is used by this
         function but it is ignored by wxMSW. Thus, you should avoid using
         logical functions with this function in portable programs.
         **NOTE**: under wxGTK the current logical function is used by this
         function but it is ignored by wxMSW. Thus, you should avoid using
         logical functions with this function in portable programs.
+
+        :see: `DrawRotatedText`
         """
         return _gdi_.PseudoDC_DrawTextPoint(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawTextPoint(*args, **kwargs)
 
@@ -6516,6 +6850,8 @@ class PseudoDC(_core.Object):
         function. In particular, a font different from ``wx.NORMAL_FONT``
         should be used as the it is not normally a TrueType
         font. ``wx.SWISS_FONT`` is an example of a font which is.
         function. In particular, a font different from ``wx.NORMAL_FONT``
         should be used as the it is not normally a TrueType
         font. ``wx.SWISS_FONT`` is an example of a font which is.
+
+        :see: `DrawText`
         """
         return _gdi_.PseudoDC_DrawRotatedText(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawRotatedText(*args, **kwargs)
 
@@ -6529,6 +6865,8 @@ class PseudoDC(_core.Object):
         function. In particular, a font different from ``wx.NORMAL_FONT``
         should be used as the it is not normally a TrueType
         font. ``wx.SWISS_FONT`` is an example of a font which is.
         function. In particular, a font different from ``wx.NORMAL_FONT``
         should be used as the it is not normally a TrueType
         font. ``wx.SWISS_FONT`` is an example of a font which is.
+
+        :see: `DrawText`
         """
         return _gdi_.PseudoDC_DrawRotatedTextPoint(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawRotatedTextPoint(*args, **kwargs)
 
@@ -6566,6 +6904,8 @@ class PseudoDC(_core.Object):
         Draw *text* within the specified rectangle, abiding by the alignment
         flags.  Will additionally emphasize the character at *indexAccel* if
         it is not -1.
         Draw *text* within the specified rectangle, abiding by the alignment
         flags.  Will additionally emphasize the character at *indexAccel* if
         it is not -1.
+
+        :see: `DrawImageLabel`
         """
         return _gdi_.PseudoDC_DrawLabel(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_DrawLabel(*args, **kwargs)
 
@@ -6605,6 +6945,8 @@ class PseudoDC(_core.Object):
 
         Sets the current font for the DC. It must be a valid font, in
         particular you should not pass ``wx.NullFont`` to this method.
 
         Sets the current font for the DC. It must be a valid font, in
         particular you should not pass ``wx.NullFont`` to this method.
+
+        :see: `wx.Font`
         """
         return _gdi_.PseudoDC_SetFont(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_SetFont(*args, **kwargs)
 
@@ -6616,6 +6958,8 @@ class PseudoDC(_core.Object):
 
         If the argument is ``wx.NullPen``, the current pen is selected out of the
         device context, and the original pen restored.
 
         If the argument is ``wx.NullPen``, the current pen is selected out of the
         device context, and the original pen restored.
+
+        :see: `wx.Pen`
         """
         return _gdi_.PseudoDC_SetPen(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_SetPen(*args, **kwargs)
 
@@ -6628,6 +6972,8 @@ class PseudoDC(_core.Object):
         If the argument is ``wx.NullBrush``, the current brush is selected out
         of the device context, and the original brush restored, allowing the
         current brush to be destroyed safely.
         If the argument is ``wx.NullBrush``, the current brush is selected out
         of the device context, and the original brush restored, allowing the
         current brush to be destroyed safely.
+
+        :see: `wx.Brush`
         """
         return _gdi_.PseudoDC_SetBrush(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_SetBrush(*args, **kwargs)
 
@@ -6657,6 +7003,8 @@ class PseudoDC(_core.Object):
         window or bitmap associated with the DC. If the argument is
         ``wx.NullPalette``, the current palette is selected out of the device
         context, and the original palette restored.
         window or bitmap associated with the DC. If the argument is
         ``wx.NullPalette``, the current palette is selected out of the device
         context, and the original palette restored.
+
+        :see: `wx.Palette`
         """
         return _gdi_.PseudoDC_SetPalette(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_SetPalette(*args, **kwargs)
 
index 37c854a47c62c5d57170e57bce1d105a02005aaf..2684cc91a316060ffe9f9c3be710091fc1a99252 100644 (file)
@@ -2476,151 +2476,152 @@ SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags)
 #define SWIGTYPE_p_wxActivateEvent swig_types[10]
 #define SWIGTYPE_p_wxAlphaPixelData swig_types[11]
 #define SWIGTYPE_p_wxAlphaPixelData_Accessor swig_types[12]
 #define SWIGTYPE_p_wxActivateEvent swig_types[10]
 #define SWIGTYPE_p_wxAlphaPixelData swig_types[11]
 #define SWIGTYPE_p_wxAlphaPixelData_Accessor swig_types[12]
-#define SWIGTYPE_p_wxBMPHandler swig_types[13]
-#define SWIGTYPE_p_wxBitmap swig_types[14]
-#define SWIGTYPE_p_wxBoxSizer swig_types[15]
-#define SWIGTYPE_p_wxBrush swig_types[16]
-#define SWIGTYPE_p_wxBrushList swig_types[17]
-#define SWIGTYPE_p_wxBufferedDC swig_types[18]
-#define SWIGTYPE_p_wxBufferedPaintDC swig_types[19]
-#define SWIGTYPE_p_wxCURHandler swig_types[20]
-#define SWIGTYPE_p_wxChar swig_types[21]
-#define SWIGTYPE_p_wxChildFocusEvent swig_types[22]
-#define SWIGTYPE_p_wxClientDC swig_types[23]
-#define SWIGTYPE_p_wxClipboardTextEvent swig_types[24]
-#define SWIGTYPE_p_wxCloseEvent swig_types[25]
-#define SWIGTYPE_p_wxColor swig_types[26]
-#define SWIGTYPE_p_wxColour swig_types[27]
-#define SWIGTYPE_p_wxColourDatabase swig_types[28]
-#define SWIGTYPE_p_wxCommandEvent swig_types[29]
-#define SWIGTYPE_p_wxContextMenuEvent swig_types[30]
-#define SWIGTYPE_p_wxControl swig_types[31]
-#define SWIGTYPE_p_wxControlWithItems swig_types[32]
-#define SWIGTYPE_p_wxCursor swig_types[33]
-#define SWIGTYPE_p_wxDC swig_types[34]
-#define SWIGTYPE_p_wxDCOverlay swig_types[35]
-#define SWIGTYPE_p_wxDash swig_types[36]
-#define SWIGTYPE_p_wxDateEvent swig_types[37]
-#define SWIGTYPE_p_wxDisplayChangedEvent swig_types[38]
-#define SWIGTYPE_p_wxDropFilesEvent swig_types[39]
-#define SWIGTYPE_p_wxDuplexMode swig_types[40]
-#define SWIGTYPE_p_wxEffects swig_types[41]
-#define SWIGTYPE_p_wxEncodingConverter swig_types[42]
-#define SWIGTYPE_p_wxEraseEvent swig_types[43]
-#define SWIGTYPE_p_wxEvent swig_types[44]
-#define SWIGTYPE_p_wxEvtHandler swig_types[45]
-#define SWIGTYPE_p_wxFSFile swig_types[46]
-#define SWIGTYPE_p_wxFileSystem swig_types[47]
-#define SWIGTYPE_p_wxFlexGridSizer swig_types[48]
-#define SWIGTYPE_p_wxFocusEvent swig_types[49]
-#define SWIGTYPE_p_wxFont swig_types[50]
-#define SWIGTYPE_p_wxFontList swig_types[51]
-#define SWIGTYPE_p_wxFontMapper swig_types[52]
-#define SWIGTYPE_p_wxGBSizerItem swig_types[53]
-#define SWIGTYPE_p_wxGCDC swig_types[54]
-#define SWIGTYPE_p_wxGDIObjListBase swig_types[55]
-#define SWIGTYPE_p_wxGDIObject swig_types[56]
-#define SWIGTYPE_p_wxGIFHandler swig_types[57]
-#define SWIGTYPE_p_wxGraphicsContext swig_types[58]
-#define SWIGTYPE_p_wxGraphicsPath swig_types[59]
-#define SWIGTYPE_p_wxGridBagSizer swig_types[60]
-#define SWIGTYPE_p_wxGridSizer swig_types[61]
-#define SWIGTYPE_p_wxHeaderButtonParams swig_types[62]
-#define SWIGTYPE_p_wxICOHandler swig_types[63]
-#define SWIGTYPE_p_wxIcon swig_types[64]
-#define SWIGTYPE_p_wxIconBundle swig_types[65]
-#define SWIGTYPE_p_wxIconLocation swig_types[66]
-#define SWIGTYPE_p_wxIconizeEvent swig_types[67]
-#define SWIGTYPE_p_wxIdleEvent swig_types[68]
-#define SWIGTYPE_p_wxImage swig_types[69]
-#define SWIGTYPE_p_wxImageHandler swig_types[70]
-#define SWIGTYPE_p_wxImageList swig_types[71]
-#define SWIGTYPE_p_wxIndividualLayoutConstraint swig_types[72]
-#define SWIGTYPE_p_wxInitDialogEvent swig_types[73]
-#define SWIGTYPE_p_wxJPEGHandler swig_types[74]
-#define SWIGTYPE_p_wxKeyEvent swig_types[75]
-#define SWIGTYPE_p_wxLanguageInfo swig_types[76]
-#define SWIGTYPE_p_wxLayoutConstraints swig_types[77]
-#define SWIGTYPE_p_wxLocale swig_types[78]
-#define SWIGTYPE_p_wxMask swig_types[79]
-#define SWIGTYPE_p_wxMaximizeEvent swig_types[80]
-#define SWIGTYPE_p_wxMemoryDC swig_types[81]
-#define SWIGTYPE_p_wxMenu swig_types[82]
-#define SWIGTYPE_p_wxMenuBar swig_types[83]
-#define SWIGTYPE_p_wxMenuEvent swig_types[84]
-#define SWIGTYPE_p_wxMenuItem swig_types[85]
-#define SWIGTYPE_p_wxMetaFile swig_types[86]
-#define SWIGTYPE_p_wxMetaFileDC swig_types[87]
-#define SWIGTYPE_p_wxMirrorDC swig_types[88]
-#define SWIGTYPE_p_wxMouseCaptureChangedEvent swig_types[89]
-#define SWIGTYPE_p_wxMouseCaptureLostEvent swig_types[90]
-#define SWIGTYPE_p_wxMouseEvent swig_types[91]
-#define SWIGTYPE_p_wxMoveEvent swig_types[92]
-#define SWIGTYPE_p_wxNativeEncodingInfo swig_types[93]
-#define SWIGTYPE_p_wxNativeFontInfo swig_types[94]
-#define SWIGTYPE_p_wxNativePixelData swig_types[95]
-#define SWIGTYPE_p_wxNativePixelData_Accessor swig_types[96]
-#define SWIGTYPE_p_wxNavigationKeyEvent swig_types[97]
-#define SWIGTYPE_p_wxNcPaintEvent swig_types[98]
-#define SWIGTYPE_p_wxNotifyEvent swig_types[99]
-#define SWIGTYPE_p_wxObject swig_types[100]
-#define SWIGTYPE_p_wxOverlay swig_types[101]
-#define SWIGTYPE_p_wxPCXHandler swig_types[102]
-#define SWIGTYPE_p_wxPNGHandler swig_types[103]
-#define SWIGTYPE_p_wxPNMHandler swig_types[104]
-#define SWIGTYPE_p_wxPaintDC swig_types[105]
-#define SWIGTYPE_p_wxPaintEvent swig_types[106]
-#define SWIGTYPE_p_wxPalette swig_types[107]
-#define SWIGTYPE_p_wxPaletteChangedEvent swig_types[108]
-#define SWIGTYPE_p_wxPaperSize swig_types[109]
-#define SWIGTYPE_p_wxPen swig_types[110]
-#define SWIGTYPE_p_wxPenList swig_types[111]
-#define SWIGTYPE_p_wxPixelDataBase swig_types[112]
-#define SWIGTYPE_p_wxPoint swig_types[113]
-#define SWIGTYPE_p_wxPoint2D swig_types[114]
-#define SWIGTYPE_p_wxPostScriptDC swig_types[115]
-#define SWIGTYPE_p_wxPrintData swig_types[116]
-#define SWIGTYPE_p_wxPrinterDC swig_types[117]
-#define SWIGTYPE_p_wxPseudoDC swig_types[118]
-#define SWIGTYPE_p_wxPyApp swig_types[119]
-#define SWIGTYPE_p_wxPyCommandEvent swig_types[120]
-#define SWIGTYPE_p_wxPyEvent swig_types[121]
-#define SWIGTYPE_p_wxPyFontEnumerator swig_types[122]
-#define SWIGTYPE_p_wxPyImageHandler swig_types[123]
-#define SWIGTYPE_p_wxPyLocale swig_types[124]
-#define SWIGTYPE_p_wxPySizer swig_types[125]
-#define SWIGTYPE_p_wxPyValidator swig_types[126]
-#define SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[127]
-#define SWIGTYPE_p_wxRect swig_types[128]
-#define SWIGTYPE_p_wxRegion swig_types[129]
-#define SWIGTYPE_p_wxRegionIterator swig_types[130]
-#define SWIGTYPE_p_wxRendererNative swig_types[131]
-#define SWIGTYPE_p_wxRendererVersion swig_types[132]
-#define SWIGTYPE_p_wxScreenDC swig_types[133]
-#define SWIGTYPE_p_wxScrollEvent swig_types[134]
-#define SWIGTYPE_p_wxScrollWinEvent swig_types[135]
-#define SWIGTYPE_p_wxSetCursorEvent swig_types[136]
-#define SWIGTYPE_p_wxShowEvent swig_types[137]
-#define SWIGTYPE_p_wxSize swig_types[138]
-#define SWIGTYPE_p_wxSizeEvent swig_types[139]
-#define SWIGTYPE_p_wxSizer swig_types[140]
-#define SWIGTYPE_p_wxSizerItem swig_types[141]
-#define SWIGTYPE_p_wxSplitterRenderParams swig_types[142]
-#define SWIGTYPE_p_wxStaticBoxSizer swig_types[143]
-#define SWIGTYPE_p_wxStdDialogButtonSizer swig_types[144]
-#define SWIGTYPE_p_wxStockGDI swig_types[145]
-#define SWIGTYPE_p_wxString swig_types[146]
-#define SWIGTYPE_p_wxSysColourChangedEvent swig_types[147]
-#define SWIGTYPE_p_wxTIFFHandler swig_types[148]
-#define SWIGTYPE_p_wxUpdateUIEvent swig_types[149]
-#define SWIGTYPE_p_wxValidator swig_types[150]
-#define SWIGTYPE_p_wxWindow swig_types[151]
-#define SWIGTYPE_p_wxWindowCreateEvent swig_types[152]
-#define SWIGTYPE_p_wxWindowDC swig_types[153]
-#define SWIGTYPE_p_wxWindowDestroyEvent swig_types[154]
-#define SWIGTYPE_p_wxXPMHandler swig_types[155]
-static swig_type_info *swig_types[157];
-static swig_module_info swig_module = {swig_types, 156, 0, 0, 0, 0};
+#define SWIGTYPE_p_wxAutoBufferedPaintDC swig_types[13]
+#define SWIGTYPE_p_wxBMPHandler swig_types[14]
+#define SWIGTYPE_p_wxBitmap swig_types[15]
+#define SWIGTYPE_p_wxBoxSizer swig_types[16]
+#define SWIGTYPE_p_wxBrush swig_types[17]
+#define SWIGTYPE_p_wxBrushList swig_types[18]
+#define SWIGTYPE_p_wxBufferedDC swig_types[19]
+#define SWIGTYPE_p_wxBufferedPaintDC swig_types[20]
+#define SWIGTYPE_p_wxCURHandler swig_types[21]
+#define SWIGTYPE_p_wxChar swig_types[22]
+#define SWIGTYPE_p_wxChildFocusEvent swig_types[23]
+#define SWIGTYPE_p_wxClientDC swig_types[24]
+#define SWIGTYPE_p_wxClipboardTextEvent swig_types[25]
+#define SWIGTYPE_p_wxCloseEvent swig_types[26]
+#define SWIGTYPE_p_wxColor swig_types[27]
+#define SWIGTYPE_p_wxColour swig_types[28]
+#define SWIGTYPE_p_wxColourDatabase swig_types[29]
+#define SWIGTYPE_p_wxCommandEvent swig_types[30]
+#define SWIGTYPE_p_wxContextMenuEvent swig_types[31]
+#define SWIGTYPE_p_wxControl swig_types[32]
+#define SWIGTYPE_p_wxControlWithItems swig_types[33]
+#define SWIGTYPE_p_wxCursor swig_types[34]
+#define SWIGTYPE_p_wxDC swig_types[35]
+#define SWIGTYPE_p_wxDCOverlay swig_types[36]
+#define SWIGTYPE_p_wxDash swig_types[37]
+#define SWIGTYPE_p_wxDateEvent swig_types[38]
+#define SWIGTYPE_p_wxDisplayChangedEvent swig_types[39]
+#define SWIGTYPE_p_wxDropFilesEvent swig_types[40]
+#define SWIGTYPE_p_wxDuplexMode swig_types[41]
+#define SWIGTYPE_p_wxEffects swig_types[42]
+#define SWIGTYPE_p_wxEncodingConverter swig_types[43]
+#define SWIGTYPE_p_wxEraseEvent swig_types[44]
+#define SWIGTYPE_p_wxEvent swig_types[45]
+#define SWIGTYPE_p_wxEvtHandler swig_types[46]
+#define SWIGTYPE_p_wxFSFile swig_types[47]
+#define SWIGTYPE_p_wxFileSystem swig_types[48]
+#define SWIGTYPE_p_wxFlexGridSizer swig_types[49]
+#define SWIGTYPE_p_wxFocusEvent swig_types[50]
+#define SWIGTYPE_p_wxFont swig_types[51]
+#define SWIGTYPE_p_wxFontList swig_types[52]
+#define SWIGTYPE_p_wxFontMapper swig_types[53]
+#define SWIGTYPE_p_wxGBSizerItem swig_types[54]
+#define SWIGTYPE_p_wxGCDC swig_types[55]
+#define SWIGTYPE_p_wxGDIObjListBase swig_types[56]
+#define SWIGTYPE_p_wxGDIObject swig_types[57]
+#define SWIGTYPE_p_wxGIFHandler swig_types[58]
+#define SWIGTYPE_p_wxGraphicsContext swig_types[59]
+#define SWIGTYPE_p_wxGraphicsPath swig_types[60]
+#define SWIGTYPE_p_wxGridBagSizer swig_types[61]
+#define SWIGTYPE_p_wxGridSizer swig_types[62]
+#define SWIGTYPE_p_wxHeaderButtonParams swig_types[63]
+#define SWIGTYPE_p_wxICOHandler swig_types[64]
+#define SWIGTYPE_p_wxIcon swig_types[65]
+#define SWIGTYPE_p_wxIconBundle swig_types[66]
+#define SWIGTYPE_p_wxIconLocation swig_types[67]
+#define SWIGTYPE_p_wxIconizeEvent swig_types[68]
+#define SWIGTYPE_p_wxIdleEvent swig_types[69]
+#define SWIGTYPE_p_wxImage swig_types[70]
+#define SWIGTYPE_p_wxImageHandler swig_types[71]
+#define SWIGTYPE_p_wxImageList swig_types[72]
+#define SWIGTYPE_p_wxIndividualLayoutConstraint swig_types[73]
+#define SWIGTYPE_p_wxInitDialogEvent swig_types[74]
+#define SWIGTYPE_p_wxJPEGHandler swig_types[75]
+#define SWIGTYPE_p_wxKeyEvent swig_types[76]
+#define SWIGTYPE_p_wxLanguageInfo swig_types[77]
+#define SWIGTYPE_p_wxLayoutConstraints swig_types[78]
+#define SWIGTYPE_p_wxLocale swig_types[79]
+#define SWIGTYPE_p_wxMask swig_types[80]
+#define SWIGTYPE_p_wxMaximizeEvent swig_types[81]
+#define SWIGTYPE_p_wxMemoryDC swig_types[82]
+#define SWIGTYPE_p_wxMenu swig_types[83]
+#define SWIGTYPE_p_wxMenuBar swig_types[84]
+#define SWIGTYPE_p_wxMenuEvent swig_types[85]
+#define SWIGTYPE_p_wxMenuItem swig_types[86]
+#define SWIGTYPE_p_wxMetaFile swig_types[87]
+#define SWIGTYPE_p_wxMetaFileDC swig_types[88]
+#define SWIGTYPE_p_wxMirrorDC swig_types[89]
+#define SWIGTYPE_p_wxMouseCaptureChangedEvent swig_types[90]
+#define SWIGTYPE_p_wxMouseCaptureLostEvent swig_types[91]
+#define SWIGTYPE_p_wxMouseEvent swig_types[92]
+#define SWIGTYPE_p_wxMoveEvent swig_types[93]
+#define SWIGTYPE_p_wxNativeEncodingInfo swig_types[94]
+#define SWIGTYPE_p_wxNativeFontInfo swig_types[95]
+#define SWIGTYPE_p_wxNativePixelData swig_types[96]
+#define SWIGTYPE_p_wxNativePixelData_Accessor swig_types[97]
+#define SWIGTYPE_p_wxNavigationKeyEvent swig_types[98]
+#define SWIGTYPE_p_wxNcPaintEvent swig_types[99]
+#define SWIGTYPE_p_wxNotifyEvent swig_types[100]
+#define SWIGTYPE_p_wxObject swig_types[101]
+#define SWIGTYPE_p_wxOverlay swig_types[102]
+#define SWIGTYPE_p_wxPCXHandler swig_types[103]
+#define SWIGTYPE_p_wxPNGHandler swig_types[104]
+#define SWIGTYPE_p_wxPNMHandler swig_types[105]
+#define SWIGTYPE_p_wxPaintDC swig_types[106]
+#define SWIGTYPE_p_wxPaintEvent swig_types[107]
+#define SWIGTYPE_p_wxPalette swig_types[108]
+#define SWIGTYPE_p_wxPaletteChangedEvent swig_types[109]
+#define SWIGTYPE_p_wxPaperSize swig_types[110]
+#define SWIGTYPE_p_wxPen swig_types[111]
+#define SWIGTYPE_p_wxPenList swig_types[112]
+#define SWIGTYPE_p_wxPixelDataBase swig_types[113]
+#define SWIGTYPE_p_wxPoint swig_types[114]
+#define SWIGTYPE_p_wxPoint2D swig_types[115]
+#define SWIGTYPE_p_wxPostScriptDC swig_types[116]
+#define SWIGTYPE_p_wxPrintData swig_types[117]
+#define SWIGTYPE_p_wxPrinterDC swig_types[118]
+#define SWIGTYPE_p_wxPseudoDC swig_types[119]
+#define SWIGTYPE_p_wxPyApp swig_types[120]
+#define SWIGTYPE_p_wxPyCommandEvent swig_types[121]
+#define SWIGTYPE_p_wxPyEvent swig_types[122]
+#define SWIGTYPE_p_wxPyFontEnumerator swig_types[123]
+#define SWIGTYPE_p_wxPyImageHandler swig_types[124]
+#define SWIGTYPE_p_wxPyLocale swig_types[125]
+#define SWIGTYPE_p_wxPySizer swig_types[126]
+#define SWIGTYPE_p_wxPyValidator swig_types[127]
+#define SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[128]
+#define SWIGTYPE_p_wxRect swig_types[129]
+#define SWIGTYPE_p_wxRegion swig_types[130]
+#define SWIGTYPE_p_wxRegionIterator swig_types[131]
+#define SWIGTYPE_p_wxRendererNative swig_types[132]
+#define SWIGTYPE_p_wxRendererVersion swig_types[133]
+#define SWIGTYPE_p_wxScreenDC swig_types[134]
+#define SWIGTYPE_p_wxScrollEvent swig_types[135]
+#define SWIGTYPE_p_wxScrollWinEvent swig_types[136]
+#define SWIGTYPE_p_wxSetCursorEvent swig_types[137]
+#define SWIGTYPE_p_wxShowEvent swig_types[138]
+#define SWIGTYPE_p_wxSize swig_types[139]
+#define SWIGTYPE_p_wxSizeEvent swig_types[140]
+#define SWIGTYPE_p_wxSizer swig_types[141]
+#define SWIGTYPE_p_wxSizerItem swig_types[142]
+#define SWIGTYPE_p_wxSplitterRenderParams swig_types[143]
+#define SWIGTYPE_p_wxStaticBoxSizer swig_types[144]
+#define SWIGTYPE_p_wxStdDialogButtonSizer swig_types[145]
+#define SWIGTYPE_p_wxStockGDI swig_types[146]
+#define SWIGTYPE_p_wxString swig_types[147]
+#define SWIGTYPE_p_wxSysColourChangedEvent swig_types[148]
+#define SWIGTYPE_p_wxTIFFHandler swig_types[149]
+#define SWIGTYPE_p_wxUpdateUIEvent swig_types[150]
+#define SWIGTYPE_p_wxValidator swig_types[151]
+#define SWIGTYPE_p_wxWindow swig_types[152]
+#define SWIGTYPE_p_wxWindowCreateEvent swig_types[153]
+#define SWIGTYPE_p_wxWindowDC swig_types[154]
+#define SWIGTYPE_p_wxWindowDestroyEvent swig_types[155]
+#define SWIGTYPE_p_wxXPMHandler swig_types[156]
+static swig_type_info *swig_types[158];
+static swig_module_info swig_module = {swig_types, 157, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
@@ -23219,6 +23220,276 @@ SWIGINTERN PyObject *MemoryDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject
   return SWIG_Python_InitShadowInstance(args);
 }
 
   return SWIG_Python_InitShadowInstance(args);
 }
 
+SWIGINTERN PyObject *_wrap_new_ScreenDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  wxScreenDC *result = 0 ;
+  
+  if (!SWIG_Python_UnpackTuple(args,"new_ScreenDC",0,0,0)) SWIG_fail;
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxScreenDC *)new wxScreenDC();
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxScreenDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTopWin(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
+  wxWindow *arg2 = (wxWindow *) 0 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  char *  kwnames[] = {
+    (char *) "self",(char *) "window", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ScreenDC_StartDrawingOnTopWin",kwnames,&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
+  }
+  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "2"" of type '" "wxWindow *""'"); 
+  }
+  arg2 = reinterpret_cast< wxWindow * >(argp2);
+  {
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (bool)(arg1)->StartDrawingOnTop(arg2);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  {
+    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
+  wxRect *arg2 = (wxRect *) NULL ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  char *  kwnames[] = {
+    (char *) "self",(char *) "rect", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:ScreenDC_StartDrawingOnTop",kwnames,&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
+  }
+  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
+  if (obj1) {
+    res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxRect, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "2"" of type '" "wxRect *""'"); 
+    }
+    arg2 = reinterpret_cast< wxRect * >(argp2);
+  }
+  {
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (bool)(arg1)->StartDrawingOnTop(arg2);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  {
+    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ScreenDC_EndDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject *swig_obj[1] ;
+  
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_EndDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
+  }
+  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
+  {
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (bool)(arg1)->EndDrawingOnTop();
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  {
+    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *ScreenDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxScreenDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *ScreenDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_WindowDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxWindow *arg1 = (wxWindow *) 0 ;
+  wxWindowDC *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  char *  kwnames[] = {
+    (char *) "win", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_WindowDC",kwnames,&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_WindowDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+  }
+  arg1 = reinterpret_cast< wxWindow * >(argp1);
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxWindowDC *)new wxWindowDC(arg1);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxWindowDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *WindowDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxWindowDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *WindowDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_ClientDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxWindow *arg1 = (wxWindow *) 0 ;
+  wxClientDC *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  char *  kwnames[] = {
+    (char *) "win", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_ClientDC",kwnames,&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_ClientDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+  }
+  arg1 = reinterpret_cast< wxWindow * >(argp1);
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxClientDC *)new wxClientDC(arg1);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxClientDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *ClientDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxClientDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *ClientDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_PaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxWindow *arg1 = (wxWindow *) 0 ;
+  wxPaintDC *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  char *  kwnames[] = {
+    (char *) "win", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_PaintDC",kwnames,&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_PaintDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+  }
+  arg1 = reinterpret_cast< wxWindow * >(argp1);
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxPaintDC *)new wxPaintDC(arg1);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxPaintDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *PaintDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxPaintDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *PaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
 SWIGINTERN PyObject *_wrap_new_BufferedDC__SWIG_0(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   wxDC *arg1 = (wxDC *) 0 ;
 SWIGINTERN PyObject *_wrap_new_BufferedDC__SWIG_0(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   wxDC *arg1 = (wxDC *) 0 ;
@@ -23476,238 +23747,10 @@ SWIGINTERN PyObject *BufferedPaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), Py
   return SWIG_Python_InitShadowInstance(args);
 }
 
   return SWIG_Python_InitShadowInstance(args);
 }
 
-SWIGINTERN PyObject *_wrap_new_ScreenDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  wxScreenDC *result = 0 ;
-  
-  if (!SWIG_Python_UnpackTuple(args,"new_ScreenDC",0,0,0)) SWIG_fail;
-  {
-    if (!wxPyCheckForApp()) SWIG_fail;
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxScreenDC *)new wxScreenDC();
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxScreenDC, SWIG_POINTER_NEW |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTopWin(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
-  wxWindow *arg2 = (wxWindow *) 0 ;
-  bool result;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  char *  kwnames[] = {
-    (char *) "self",(char *) "window", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ScreenDC_StartDrawingOnTopWin",kwnames,&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
-  }
-  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxWindow, 0 |  0 );
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "2"" of type '" "wxWindow *""'"); 
-  }
-  arg2 = reinterpret_cast< wxWindow * >(argp2);
-  {
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (bool)(arg1)->StartDrawingOnTop(arg2);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  {
-    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
-  }
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
-  wxRect *arg2 = (wxRect *) NULL ;
-  bool result;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  char *  kwnames[] = {
-    (char *) "self",(char *) "rect", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:ScreenDC_StartDrawingOnTop",kwnames,&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
-  }
-  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
-  if (obj1) {
-    res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxRect, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "2"" of type '" "wxRect *""'"); 
-    }
-    arg2 = reinterpret_cast< wxRect * >(argp2);
-  }
-  {
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (bool)(arg1)->StartDrawingOnTop(arg2);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  {
-    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
-  }
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_ScreenDC_EndDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
-  bool result;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject *swig_obj[1] ;
-  
-  if (!args) SWIG_fail;
-  swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_EndDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
-  }
-  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
-  {
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (bool)(arg1)->EndDrawingOnTop();
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  {
-    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
-  }
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *ScreenDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *obj;
-  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxScreenDC, SWIG_NewClientData(obj));
-  return SWIG_Py_Void();
-}
-
-SWIGINTERN PyObject *ScreenDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  return SWIG_Python_InitShadowInstance(args);
-}
-
-SWIGINTERN PyObject *_wrap_new_WindowDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxWindow *arg1 = (wxWindow *) 0 ;
-  wxWindowDC *result = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  char *  kwnames[] = {
-    (char *) "win", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_WindowDC",kwnames,&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_WindowDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
-  }
-  arg1 = reinterpret_cast< wxWindow * >(argp1);
-  {
-    if (!wxPyCheckForApp()) SWIG_fail;
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxWindowDC *)new wxWindowDC(arg1);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxWindowDC, SWIG_POINTER_NEW |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *WindowDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *obj;
-  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxWindowDC, SWIG_NewClientData(obj));
-  return SWIG_Py_Void();
-}
-
-SWIGINTERN PyObject *WindowDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  return SWIG_Python_InitShadowInstance(args);
-}
-
-SWIGINTERN PyObject *_wrap_new_ClientDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxWindow *arg1 = (wxWindow *) 0 ;
-  wxClientDC *result = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  char *  kwnames[] = {
-    (char *) "win", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_ClientDC",kwnames,&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_ClientDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
-  }
-  arg1 = reinterpret_cast< wxWindow * >(argp1);
-  {
-    if (!wxPyCheckForApp()) SWIG_fail;
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxClientDC *)new wxClientDC(arg1);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxClientDC, SWIG_POINTER_NEW |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *ClientDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *obj;
-  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxClientDC, SWIG_NewClientData(obj));
-  return SWIG_Py_Void();
-}
-
-SWIGINTERN PyObject *ClientDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  return SWIG_Python_InitShadowInstance(args);
-}
-
-SWIGINTERN PyObject *_wrap_new_PaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+SWIGINTERN PyObject *_wrap_new_AutoBufferedPaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
   PyObject *resultobj = 0;
   wxWindow *arg1 = (wxWindow *) 0 ;
   PyObject *resultobj = 0;
   wxWindow *arg1 = (wxWindow *) 0 ;
-  wxPaintDC *result = 0 ;
+  wxAutoBufferedPaintDC *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
@@ -23715,34 +23758,33 @@ SWIGINTERN PyObject *_wrap_new_PaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject
     (char *) "win", NULL 
   };
   
     (char *) "win", NULL 
   };
   
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_PaintDC",kwnames,&obj0)) SWIG_fail;
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_AutoBufferedPaintDC",kwnames,&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_PaintDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_AutoBufferedPaintDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
   }
   arg1 = reinterpret_cast< wxWindow * >(argp1);
   {
   }
   arg1 = reinterpret_cast< wxWindow * >(argp1);
   {
-    if (!wxPyCheckForApp()) SWIG_fail;
     PyThreadState* __tstate = wxPyBeginAllowThreads();
     PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxPaintDC *)new wxPaintDC(arg1);
+    result = (wxAutoBufferedPaintDC *)new wxAutoBufferedPaintDC(arg1);
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) SWIG_fail;
   }
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) SWIG_fail;
   }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxPaintDC, SWIG_POINTER_NEW |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxAutoBufferedPaintDC, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *PaintDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *AutoBufferedPaintDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxPaintDC, SWIG_NewClientData(obj));
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxAutoBufferedPaintDC, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *PaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *AutoBufferedPaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   return SWIG_Python_InitShadowInstance(args);
 }
 
   return SWIG_Python_InitShadowInstance(args);
 }
 
@@ -34673,14 +34715,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"MemoryDC_SelectObject", (PyCFunction) _wrap_MemoryDC_SelectObject, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MemoryDC_swigregister", MemoryDC_swigregister, METH_VARARGS, NULL},
         { (char *)"MemoryDC_swiginit", MemoryDC_swiginit, METH_VARARGS, NULL},
         { (char *)"MemoryDC_SelectObject", (PyCFunction) _wrap_MemoryDC_SelectObject, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MemoryDC_swigregister", MemoryDC_swigregister, METH_VARARGS, NULL},
         { (char *)"MemoryDC_swiginit", MemoryDC_swiginit, METH_VARARGS, NULL},
-        { (char *)"new_BufferedDC", _wrap_new_BufferedDC, METH_VARARGS, NULL},
-        { (char *)"delete_BufferedDC", (PyCFunction)_wrap_delete_BufferedDC, METH_O, NULL},
-        { (char *)"BufferedDC_UnMask", (PyCFunction)_wrap_BufferedDC_UnMask, METH_O, NULL},
-        { (char *)"BufferedDC_swigregister", BufferedDC_swigregister, METH_VARARGS, NULL},
-        { (char *)"BufferedDC_swiginit", BufferedDC_swiginit, METH_VARARGS, NULL},
-        { (char *)"new_BufferedPaintDC", (PyCFunction) _wrap_new_BufferedPaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
-        { (char *)"BufferedPaintDC_swigregister", BufferedPaintDC_swigregister, METH_VARARGS, NULL},
-        { (char *)"BufferedPaintDC_swiginit", BufferedPaintDC_swiginit, METH_VARARGS, NULL},
         { (char *)"new_ScreenDC", (PyCFunction)_wrap_new_ScreenDC, METH_NOARGS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTopWin", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTopWin, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTop", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTop, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_ScreenDC", (PyCFunction)_wrap_new_ScreenDC, METH_NOARGS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTopWin", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTopWin, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTop", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTop, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -34696,6 +34730,17 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"new_PaintDC", (PyCFunction) _wrap_new_PaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"PaintDC_swigregister", PaintDC_swigregister, METH_VARARGS, NULL},
         { (char *)"PaintDC_swiginit", PaintDC_swiginit, METH_VARARGS, NULL},
         { (char *)"new_PaintDC", (PyCFunction) _wrap_new_PaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"PaintDC_swigregister", PaintDC_swigregister, METH_VARARGS, NULL},
         { (char *)"PaintDC_swiginit", PaintDC_swiginit, METH_VARARGS, NULL},
+        { (char *)"new_BufferedDC", _wrap_new_BufferedDC, METH_VARARGS, NULL},
+        { (char *)"delete_BufferedDC", (PyCFunction)_wrap_delete_BufferedDC, METH_O, NULL},
+        { (char *)"BufferedDC_UnMask", (PyCFunction)_wrap_BufferedDC_UnMask, METH_O, NULL},
+        { (char *)"BufferedDC_swigregister", BufferedDC_swigregister, METH_VARARGS, NULL},
+        { (char *)"BufferedDC_swiginit", BufferedDC_swiginit, METH_VARARGS, NULL},
+        { (char *)"new_BufferedPaintDC", (PyCFunction) _wrap_new_BufferedPaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"BufferedPaintDC_swigregister", BufferedPaintDC_swigregister, METH_VARARGS, NULL},
+        { (char *)"BufferedPaintDC_swiginit", BufferedPaintDC_swiginit, METH_VARARGS, NULL},
+        { (char *)"new_AutoBufferedPaintDC", (PyCFunction) _wrap_new_AutoBufferedPaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"AutoBufferedPaintDC_swigregister", AutoBufferedPaintDC_swigregister, METH_VARARGS, NULL},
+        { (char *)"AutoBufferedPaintDC_swiginit", AutoBufferedPaintDC_swiginit, METH_VARARGS, NULL},
         { (char *)"AutoBufferedPaintDCFactory", (PyCFunction) _wrap_AutoBufferedPaintDCFactory, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_MirrorDC", (PyCFunction) _wrap_new_MirrorDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MirrorDC_swigregister", MirrorDC_swigregister, METH_VARARGS, NULL},
         { (char *)"AutoBufferedPaintDCFactory", (PyCFunction) _wrap_AutoBufferedPaintDCFactory, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_MirrorDC", (PyCFunction) _wrap_new_MirrorDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MirrorDC_swigregister", MirrorDC_swigregister, METH_VARARGS, NULL},
@@ -35016,12 +35061,12 @@ static void *_p_wxBrushTo_p_wxGDIObject(void *x) {
 static void *_p_wxGCDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxGCDC *) x));
 }
 static void *_p_wxGCDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxGCDC *) x));
 }
-static void *_p_wxBufferedDCTo_p_wxDC(void *x) {
-    return (void *)((wxDC *) (wxMemoryDC *) ((wxBufferedDC *) x));
-}
 static void *_p_wxScreenDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxScreenDC *) x));
 }
 static void *_p_wxScreenDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxScreenDC *) x));
 }
+static void *_p_wxBufferedDCTo_p_wxDC(void *x) {
+    return (void *)((wxDC *) (wxMemoryDC *) ((wxBufferedDC *) x));
+}
 static void *_p_wxMirrorDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMirrorDC *) x));
 }
 static void *_p_wxMirrorDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMirrorDC *) x));
 }
@@ -35034,15 +35079,18 @@ static void *_p_wxWindowDCTo_p_wxDC(void *x) {
 static void *_p_wxMetaFileDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMetaFileDC *) x));
 }
 static void *_p_wxMetaFileDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMetaFileDC *) x));
 }
-static void *_p_wxBufferedPaintDCTo_p_wxDC(void *x) {
-    return (void *)((wxDC *) (wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
-}
 static void *_p_wxClientDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *) ((wxClientDC *) x));
 }
 static void *_p_wxPaintDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
 }
 static void *_p_wxClientDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *) ((wxClientDC *) x));
 }
 static void *_p_wxPaintDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
 }
+static void *_p_wxBufferedPaintDCTo_p_wxDC(void *x) {
+    return (void *)((wxDC *) (wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
+}
+static void *_p_wxAutoBufferedPaintDCTo_p_wxDC(void *x) {
+    return (void *)((wxDC *)  ((wxAutoBufferedPaintDC *) x));
+}
 static void *_p_wxPostScriptDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxPostScriptDC *) x));
 }
 static void *_p_wxPostScriptDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxPostScriptDC *) x));
 }
@@ -35256,11 +35304,14 @@ static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
 static void *_p_wxMouseCaptureLostEventTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureLostEvent *) x));
 }
 static void *_p_wxMouseCaptureLostEventTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureLostEvent *) x));
 }
+static void *_p_wxPaintDCTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxDC *)(wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
+}
 static void *_p_wxBufferedPaintDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *)(wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
 }
 static void *_p_wxBufferedPaintDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *)(wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
 }
-static void *_p_wxPaintDCTo_p_wxObject(void *x) {
-    return (void *)((wxObject *) (wxDC *)(wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
+static void *_p_wxAutoBufferedPaintDCTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxDC *) ((wxAutoBufferedPaintDC *) x));
 }
 static void *_p_wxPrinterDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *) ((wxPrinterDC *) x));
 }
 static void *_p_wxPrinterDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *) ((wxPrinterDC *) x));
@@ -35410,6 +35461,7 @@ static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int
 static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *|wxUIntPtr *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData = {"_p_wxAlphaPixelData", "wxAlphaPixelData *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData_Accessor = {"_p_wxAlphaPixelData_Accessor", "wxAlphaPixelData_Accessor *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *|wxUIntPtr *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData = {"_p_wxAlphaPixelData", "wxAlphaPixelData *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData_Accessor = {"_p_wxAlphaPixelData_Accessor", "wxAlphaPixelData_Accessor *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_wxAutoBufferedPaintDC = {"_p_wxAutoBufferedPaintDC", "wxAutoBufferedPaintDC *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBitmap = {"_p_wxBitmap", "wxBitmap *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrush = {"_p_wxBrush", "wxBrush *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrushList = {"_p_wxBrushList", "wxBrushList *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBitmap = {"_p_wxBitmap", "wxBitmap *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrush = {"_p_wxBrush", "wxBrush *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrushList = {"_p_wxBrushList", "wxBrushList *", 0, 0, (void*)0, 0};
@@ -35492,7 +35544,6 @@ static swig_type_info _swigt__p_wxIconizeEvent = {"_p_wxIconizeEvent", 0, 0, 0,
 static swig_type_info _swigt__p_wxSizeEvent = {"_p_wxSizeEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxMoveEvent = {"_p_wxMoveEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxActivateEvent = {"_p_wxActivateEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxSizeEvent = {"_p_wxSizeEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxMoveEvent = {"_p_wxMoveEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxActivateEvent = {"_p_wxActivateEvent", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_wxCURHandler = {"_p_wxCURHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxICOHandler = {"_p_wxICOHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxBMPHandler = {"_p_wxBMPHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPyImageHandler = {"_p_wxPyImageHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxICOHandler = {"_p_wxICOHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxBMPHandler = {"_p_wxBMPHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPyImageHandler = {"_p_wxPyImageHandler", 0, 0, 0, 0, 0};
@@ -35500,6 +35551,7 @@ static swig_type_info _swigt__p_wxImageHandler = {"_p_wxImageHandler", 0, 0, 0,
 static swig_type_info _swigt__p_wxXPMHandler = {"_p_wxXPMHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxTIFFHandler = {"_p_wxTIFFHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxEvtHandler = {"_p_wxEvtHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxXPMHandler = {"_p_wxXPMHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxTIFFHandler = {"_p_wxTIFFHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxEvtHandler = {"_p_wxEvtHandler", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_wxCURHandler = {"_p_wxCURHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxANIHandler = {"_p_wxANIHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPNGHandler = {"_p_wxPNGHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxGIFHandler = {"_p_wxGIFHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxANIHandler = {"_p_wxANIHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPNGHandler = {"_p_wxPNGHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxGIFHandler = {"_p_wxGIFHandler", 0, 0, 0, 0, 0};
@@ -35571,6 +35623,7 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_wxActivateEvent,
   &_swigt__p_wxAlphaPixelData,
   &_swigt__p_wxAlphaPixelData_Accessor,
   &_swigt__p_wxActivateEvent,
   &_swigt__p_wxAlphaPixelData,
   &_swigt__p_wxAlphaPixelData_Accessor,
+  &_swigt__p_wxAutoBufferedPaintDC,
   &_swigt__p_wxBMPHandler,
   &_swigt__p_wxBitmap,
   &_swigt__p_wxBoxSizer,
   &_swigt__p_wxBMPHandler,
   &_swigt__p_wxBitmap,
   &_swigt__p_wxBoxSizer,
@@ -35726,6 +35779,7 @@ static swig_cast_info _swigc__p_unsigned_int[] = {  {&_swigt__p_unsigned_int, 0,
 static swig_cast_info _swigc__p_unsigned_long[] = {  {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData[] = {  {&_swigt__p_wxAlphaPixelData, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData_Accessor[] = {  {&_swigt__p_wxAlphaPixelData_Accessor, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_unsigned_long[] = {  {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData[] = {  {&_swigt__p_wxAlphaPixelData, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData_Accessor[] = {  {&_swigt__p_wxAlphaPixelData_Accessor, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxAutoBufferedPaintDC[] = {  {&_swigt__p_wxAutoBufferedPaintDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBitmap[] = {  {&_swigt__p_wxBitmap, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrush[] = {  {&_swigt__p_wxBrush, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrushList[] = {  {&_swigt__p_wxBrushList, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBitmap[] = {  {&_swigt__p_wxBitmap, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrush[] = {  {&_swigt__p_wxBrush, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrushList[] = {  {&_swigt__p_wxBrushList, 0, 0, 0},{0, 0, 0, 0}};
@@ -35737,7 +35791,7 @@ static swig_cast_info _swigc__p_wxColor[] = {  {&_swigt__p_wxColor, 0, 0, 0},{0,
 static swig_cast_info _swigc__p_wxColour[] = {  {&_swigt__p_wxColour, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxColourDatabase[] = {  {&_swigt__p_wxColourDatabase, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxCursor[] = {  {&_swigt__p_wxCursor, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxColour[] = {  {&_swigt__p_wxColour, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxColourDatabase[] = {  {&_swigt__p_wxColourDatabase, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxCursor[] = {  {&_swigt__p_wxCursor, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxDC[] = {  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxDC, 0, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxDC, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxDC[] = {  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxAutoBufferedPaintDC, _p_wxAutoBufferedPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxDC, 0, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxDC, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDCOverlay[] = {  {&_swigt__p_wxDCOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDash[] = {  {&_swigt__p_wxDash, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDuplexMode[] = {  {&_swigt__p_wxDuplexMode, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDCOverlay[] = {  {&_swigt__p_wxDCOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDash[] = {  {&_swigt__p_wxDash, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDuplexMode[] = {  {&_swigt__p_wxDuplexMode, 0, 0, 0},{0, 0, 0, 0}};
@@ -35807,7 +35861,6 @@ static swig_cast_info _swigc__p_wxIconizeEvent[] = {{&_swigt__p_wxIconizeEvent,
 static swig_cast_info _swigc__p_wxSizeEvent[] = {{&_swigt__p_wxSizeEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxMoveEvent[] = {{&_swigt__p_wxMoveEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxActivateEvent[] = {{&_swigt__p_wxActivateEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxSizeEvent[] = {{&_swigt__p_wxSizeEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxMoveEvent[] = {{&_swigt__p_wxMoveEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxActivateEvent[] = {{&_swigt__p_wxActivateEvent, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxCURHandler[] = {{&_swigt__p_wxCURHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxICOHandler[] = {{&_swigt__p_wxICOHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBMPHandler[] = {{&_swigt__p_wxBMPHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyImageHandler[] = {{&_swigt__p_wxPyImageHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxICOHandler[] = {{&_swigt__p_wxICOHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBMPHandler[] = {{&_swigt__p_wxBMPHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyImageHandler[] = {{&_swigt__p_wxPyImageHandler, 0, 0, 0},{0, 0, 0, 0}};
@@ -35815,6 +35868,7 @@ static swig_cast_info _swigc__p_wxImageHandler[] = {{&_swigt__p_wxImageHandler,
 static swig_cast_info _swigc__p_wxXPMHandler[] = {{&_swigt__p_wxXPMHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxTIFFHandler[] = {{&_swigt__p_wxTIFFHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxEvtHandler[] = {{&_swigt__p_wxEvtHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxXPMHandler[] = {{&_swigt__p_wxXPMHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxTIFFHandler[] = {{&_swigt__p_wxTIFFHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxEvtHandler[] = {{&_swigt__p_wxEvtHandler, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxCURHandler[] = {{&_swigt__p_wxCURHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxANIHandler[] = {{&_swigt__p_wxANIHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPNGHandler[] = {{&_swigt__p_wxPNGHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxGIFHandler[] = {{&_swigt__p_wxGIFHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxANIHandler[] = {{&_swigt__p_wxANIHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPNGHandler[] = {{&_swigt__p_wxPNGHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxGIFHandler[] = {{&_swigt__p_wxGIFHandler, 0, 0, 0},{0, 0, 0, 0}};
@@ -35844,7 +35898,7 @@ static swig_cast_info _swigc__p_wxChildFocusEvent[] = {{&_swigt__p_wxChildFocusE
 static swig_cast_info _swigc__p_wxControlWithItems[] = {{&_swigt__p_wxControlWithItems, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyValidator[] = {{&_swigt__p_wxPyValidator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxValidator[] = {{&_swigt__p_wxValidator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxControlWithItems[] = {{&_swigt__p_wxControlWithItems, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyValidator[] = {{&_swigt__p_wxPyValidator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxValidator[] = {{&_swigt__p_wxValidator, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxObject[] = {  {&_swigt__p_wxLayoutConstraints, _p_wxLayoutConstraintsTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegionIterator, _p_wxRegionIteratorTo_p_wxObject, 0, 0},  {&_swigt__p_wxPen, _p_wxPenTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizerItem, _p_wxSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxGBSizerItem, _p_wxGBSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollEvent, _p_wxScrollEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIndividualLayoutConstraint, _p_wxIndividualLayoutConstraintTo_p_wxObject, 0, 0},  {&_swigt__p_wxStaticBoxSizer, _p_wxStaticBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBoxSizer, _p_wxBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizer, _p_wxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridBagSizer, _p_wxGridBagSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxUpdateUIEvent, _p_wxUpdateUIEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenu, _p_wxMenuTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvent, _p_wxEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFlexGridSizer, _p_wxFlexGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridSizer, _p_wxGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxInitDialogEvent, _p_wxInitDialogEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMask, _p_wxMaskTo_p_wxObject, 0, 0},  {&_swigt__p_wxPseudoDC, _p_wxPseudoDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxClipboardTextEvent, _p_wxClipboardTextEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintEvent, _p_wxPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNcPaintEvent, _p_wxNcPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaletteChangedEvent, _p_wxPaletteChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDisplayChangedEvent, _p_wxDisplayChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureChangedEvent, _p_wxMouseCaptureChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSysColourChangedEvent, _p_wxSysColourChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxControl, _p_wxControlTo_p_wxObject, 0, 0},  {&_swigt__p_wxFont, _p_wxFontTo_p_wxObject, 0, 0},  {&_swigt__p_wxSetCursorEvent, _p_wxSetCursorEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxFSFile, _p_wxFSFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegion, _p_wxRegionTo_p_wxObject, 0, 0},  {&_swigt__p_wxPySizer, _p_wxPySizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxDC, _p_wxDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxIcon, _p_wxIconTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGDIObject, _p_wxGDIObjectTo_p_wxObject, 0, 0},  {&_swigt__p_wxEffects, _p_wxEffectsTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyEvent, _p_wxPyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNotifyEvent, _p_wxNotifyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxShowEvent, _p_wxShowEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuItem, _p_wxMenuItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxDateEvent, _p_wxDateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIdleEvent, _p_wxIdleEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowCreateEvent, _p_wxWindowCreateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxQueryNewPaletteEvent, _p_wxQueryNewPaletteEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMaximizeEvent, _p_wxMaximizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIconizeEvent, _p_wxIconizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizeEvent, _p_wxSizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMoveEvent, _p_wxMoveEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxActivateEvent, _p_wxActivateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxCURHandler, _p_wxCURHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxICOHandler, _p_wxICOHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBMPHandler, _p_wxBMPHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyImageHandler, _p_wxPyImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageHandler, _p_wxImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxXPMHandler, _p_wxXPMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxTIFFHandler, _p_wxTIFFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvtHandler, _p_wxEvtHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxANIHandler, _p_wxANIHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNGHandler, _p_wxPNGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGIFHandler, _p_wxGIFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPCXHandler, _p_wxPCXHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxJPEGHandler, _p_wxJPEGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNMHandler, _p_wxPNMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureLostEvent, _p_wxMouseCaptureLostEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxStdDialogButtonSizer, _p_wxStdDialogButtonSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxAcceleratorTable, _p_wxAcceleratorTableTo_p_wxObject, 0, 0},  {&_swigt__p_wxImage, _p_wxImageTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollWinEvent, _p_wxScrollWinEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPalette, _p_wxPaletteTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageList, _p_wxImageListTo_p_wxObject, 0, 0},  {&_swigt__p_wxCursor, _p_wxCursorTo_p_wxObject, 0, 0},  {&_swigt__p_wxObject, 0, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxEncodingConverter, _p_wxEncodingConverterTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDestroyEvent, _p_wxWindowDestroyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNavigationKeyEvent, _p_wxNavigationKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxKeyEvent, _p_wxKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindow, _p_wxWindowTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuBar, _p_wxMenuBarTo_p_wxObject, 0, 0},  {&_swigt__p_wxFileSystem, _p_wxFileSystemTo_p_wxObject, 0, 0},  {&_swigt__p_wxBitmap, _p_wxBitmapTo_p_wxObject, 0, 0},  {&_swigt__p_wxContextMenuEvent, _p_wxContextMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuEvent, _p_wxMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyApp, _p_wxPyAppTo_p_wxObject, 0, 0},  {&_swigt__p_wxCloseEvent, _p_wxCloseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseEvent, _p_wxMouseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxEraseEvent, _p_wxEraseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyCommandEvent, _p_wxPyCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxCommandEvent, _p_wxCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDropFilesEvent, _p_wxDropFilesEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFocusEvent, _p_wxFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxChildFocusEvent, _p_wxChildFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBrush, _p_wxBrushTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFile, _p_wxMetaFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxControlWithItems, _p_wxControlWithItemsTo_p_wxObject, 0, 0},  {&_swigt__p_wxColour, _p_wxColourTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyValidator, _p_wxPyValidatorTo_p_wxObject, 0, 0},  {&_swigt__p_wxValidator, _p_wxValidatorTo_p_wxObject, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxObject[] = {  {&_swigt__p_wxLayoutConstraints, _p_wxLayoutConstraintsTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegionIterator, _p_wxRegionIteratorTo_p_wxObject, 0, 0},  {&_swigt__p_wxPen, _p_wxPenTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizerItem, _p_wxSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxGBSizerItem, _p_wxGBSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollEvent, _p_wxScrollEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIndividualLayoutConstraint, _p_wxIndividualLayoutConstraintTo_p_wxObject, 0, 0},  {&_swigt__p_wxStaticBoxSizer, _p_wxStaticBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBoxSizer, _p_wxBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizer, _p_wxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridBagSizer, _p_wxGridBagSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxUpdateUIEvent, _p_wxUpdateUIEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenu, _p_wxMenuTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvent, _p_wxEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFlexGridSizer, _p_wxFlexGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridSizer, _p_wxGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxInitDialogEvent, _p_wxInitDialogEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMask, _p_wxMaskTo_p_wxObject, 0, 0},  {&_swigt__p_wxPseudoDC, _p_wxPseudoDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxClipboardTextEvent, _p_wxClipboardTextEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintEvent, _p_wxPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNcPaintEvent, _p_wxNcPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaletteChangedEvent, _p_wxPaletteChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDisplayChangedEvent, _p_wxDisplayChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureChangedEvent, _p_wxMouseCaptureChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSysColourChangedEvent, _p_wxSysColourChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxControl, _p_wxControlTo_p_wxObject, 0, 0},  {&_swigt__p_wxFont, _p_wxFontTo_p_wxObject, 0, 0},  {&_swigt__p_wxSetCursorEvent, _p_wxSetCursorEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxFSFile, _p_wxFSFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegion, _p_wxRegionTo_p_wxObject, 0, 0},  {&_swigt__p_wxPySizer, _p_wxPySizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxDC, _p_wxDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxIcon, _p_wxIconTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGDIObject, _p_wxGDIObjectTo_p_wxObject, 0, 0},  {&_swigt__p_wxEffects, _p_wxEffectsTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyEvent, _p_wxPyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNotifyEvent, _p_wxNotifyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxShowEvent, _p_wxShowEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuItem, _p_wxMenuItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxDateEvent, _p_wxDateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIdleEvent, _p_wxIdleEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowCreateEvent, _p_wxWindowCreateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxQueryNewPaletteEvent, _p_wxQueryNewPaletteEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMaximizeEvent, _p_wxMaximizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIconizeEvent, _p_wxIconizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizeEvent, _p_wxSizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMoveEvent, _p_wxMoveEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxActivateEvent, _p_wxActivateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxICOHandler, _p_wxICOHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBMPHandler, _p_wxBMPHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyImageHandler, _p_wxPyImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageHandler, _p_wxImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxXPMHandler, _p_wxXPMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxTIFFHandler, _p_wxTIFFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvtHandler, _p_wxEvtHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxCURHandler, _p_wxCURHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxANIHandler, _p_wxANIHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNGHandler, _p_wxPNGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGIFHandler, _p_wxGIFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPCXHandler, _p_wxPCXHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxJPEGHandler, _p_wxJPEGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNMHandler, _p_wxPNMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureLostEvent, _p_wxMouseCaptureLostEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxAutoBufferedPaintDC, _p_wxAutoBufferedPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxStdDialogButtonSizer, _p_wxStdDialogButtonSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxAcceleratorTable, _p_wxAcceleratorTableTo_p_wxObject, 0, 0},  {&_swigt__p_wxImage, _p_wxImageTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollWinEvent, _p_wxScrollWinEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPalette, _p_wxPaletteTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageList, _p_wxImageListTo_p_wxObject, 0, 0},  {&_swigt__p_wxCursor, _p_wxCursorTo_p_wxObject, 0, 0},  {&_swigt__p_wxObject, 0, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxEncodingConverter, _p_wxEncodingConverterTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDestroyEvent, _p_wxWindowDestroyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNavigationKeyEvent, _p_wxNavigationKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxKeyEvent, _p_wxKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindow, _p_wxWindowTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuBar, _p_wxMenuBarTo_p_wxObject, 0, 0},  {&_swigt__p_wxFileSystem, _p_wxFileSystemTo_p_wxObject, 0, 0},  {&_swigt__p_wxBitmap, _p_wxBitmapTo_p_wxObject, 0, 0},  {&_swigt__p_wxContextMenuEvent, _p_wxContextMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuEvent, _p_wxMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyApp, _p_wxPyAppTo_p_wxObject, 0, 0},  {&_swigt__p_wxCloseEvent, _p_wxCloseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseEvent, _p_wxMouseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxEraseEvent, _p_wxEraseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyCommandEvent, _p_wxPyCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxCommandEvent, _p_wxCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDropFilesEvent, _p_wxDropFilesEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFocusEvent, _p_wxFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxChildFocusEvent, _p_wxChildFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBrush, _p_wxBrushTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFile, _p_wxMetaFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxControlWithItems, _p_wxControlWithItemsTo_p_wxObject, 0, 0},  {&_swigt__p_wxColour, _p_wxColourTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyValidator, _p_wxPyValidatorTo_p_wxObject, 0, 0},  {&_swigt__p_wxValidator, _p_wxValidatorTo_p_wxObject, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxOverlay[] = {  {&_swigt__p_wxOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPaintDC[] = {  {&_swigt__p_wxPaintDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPalette[] = {  {&_swigt__p_wxPalette, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxOverlay[] = {  {&_swigt__p_wxOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPaintDC[] = {  {&_swigt__p_wxPaintDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPalette[] = {  {&_swigt__p_wxPalette, 0, 0, 0},{0, 0, 0, 0}};
@@ -35887,6 +35941,7 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_wxActivateEvent,
   _swigc__p_wxAlphaPixelData,
   _swigc__p_wxAlphaPixelData_Accessor,
   _swigc__p_wxActivateEvent,
   _swigc__p_wxAlphaPixelData,
   _swigc__p_wxAlphaPixelData_Accessor,
+  _swigc__p_wxAutoBufferedPaintDC,
   _swigc__p_wxBMPHandler,
   _swigc__p_wxBitmap,
   _swigc__p_wxBoxSizer,
   _swigc__p_wxBMPHandler,
   _swigc__p_wxBitmap,
   _swigc__p_wxBoxSizer,
index 3c42a438368f95cfb8cb4ba5440aa6baaee181b9..f930da8990b0d7ad8c1e57d6143c89258116283c 100644 (file)
@@ -2615,6 +2615,98 @@ class ArtProvider(object):
                 ...
                 return bmp
 
                 ...
                 return bmp
 
+
+    Identifying art resources
+    -------------------------
+
+    Every bitmap is known to wx.ArtProvider under an unique ID that is
+    used when requesting a resource from it. The IDs can have one of the
+    following predefined values.  Additionally, any string recognized by
+    custom art providers registered using `Push` may be used.
+
+    GTK+ Note
+    ---------
+
+    When running under GTK+ 2, GTK+ stock item IDs (e.g. 'gtk-cdrom') may be used
+    as well.  Additionally, if wxGTK was compiled against GTK+ >= 2.4, then it is
+    also possible to load icons from current icon theme by specifying their name
+    without the extension and directory components. Icon themes recognized by GTK+
+    follow the freedesktop.org Icon Themes specification.  Note that themes are
+    not guaranteed to contain all icons, so wx.ArtProvider may return wx.NullBitmap
+    or wx.NullIcon.  The default theme is typically installed in /usr/share/icons/hicolor.
+
+        * wx.ART_ADD_BOOKMARK
+        * wx.ART_DEL_BOOKMARK
+        * wx.ART_HELP_SIDE_PANEL
+        * wx.ART_HELP_SETTINGS
+        * wx.ART_HELP_BOOK
+        * wx.ART_HELP_FOLDER
+        * wx.ART_HELP_PAGE
+        * wx.ART_GO_BACK
+        * wx.ART_GO_FORWARD
+        * wx.ART_GO_UP
+        * wx.ART_GO_DOWN
+        * wx.ART_GO_TO_PARENT
+        * wx.ART_GO_HOME
+        * wx.ART_FILE_OPEN
+        * wx.ART_FILE_SAVE
+        * wx.ART_FILE_SAVE_AS
+        * wx.ART_PRINT
+        * wx.ART_HELP
+        * wx.ART_TIP
+        * wx.ART_REPORT_VIEW
+        * wx.ART_LIST_VIEW
+        * wx.ART_NEW_DIR
+        * wx.ART_HARDDISK
+        * wx.ART_FLOPPY
+        * wx.ART_CDROM
+        * wx.ART_REMOVABLE
+        * wx.ART_FOLDER
+        * wx.ART_FOLDER_OPEN
+        * wx.ART_GO_DIR_UP
+        * wx.ART_EXECUTABLE_FILE
+        * wx.ART_NORMAL_FILE
+        * wx.ART_TICK_MARK
+        * wx.ART_CROSS_MARK
+        * wx.ART_ERROR
+        * wx.ART_QUESTION
+        * wx.ART_WARNING
+        * wx.ART_INFORMATION
+        * wx.ART_MISSING_IMAGE
+        * wx.ART_COPY
+        * wx.ART_CUT
+        * wx.ART_PASTE
+        * wx.ART_DELETE
+        * wx.ART_NEW
+        * wx.ART_UNDO
+        * wx.ART_REDO
+        * wx.ART_QUIT
+        * wx.ART_FIND
+        * wx.ART_FIND_AND_REPLACE
+
+
+    Clients
+    -------
+
+    The Client is the entity that calls wx.ArtProvider's `GetBitmap` or
+    `GetIcon` function.  Client IDs serve as a hint to wx.ArtProvider
+    that is supposed to help it to choose the best looking bitmap. For
+    example it is often desirable to use slightly different icons in menus
+    and toolbars even though they represent the same action (e.g.
+    wx.ART_FILE_OPEN). Remember that this is really only a hint for
+    wx.ArtProvider -- it is common that `wx.ArtProvider.GetBitmap` returns
+    identical bitmap for different client values!
+
+        * wx.ART_TOOLBAR
+        * wx.ART_MENU
+        * wx.ART_FRAME_ICON
+        * wx.ART_CMN_DIALOG
+        * wx.ART_HELP_BROWSER
+        * wx.ART_MESSAGE_BOX
+        * wx.ART_BUTTON
+        * wx.ART_OTHER (used for all requests that don't fit into any
+          of the categories above)
+
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -2639,6 +2731,98 @@ class ArtProvider(object):
                     ...
                     return bmp
 
                     ...
                     return bmp
 
+
+        Identifying art resources
+        -------------------------
+
+        Every bitmap is known to wx.ArtProvider under an unique ID that is
+        used when requesting a resource from it. The IDs can have one of the
+        following predefined values.  Additionally, any string recognized by
+        custom art providers registered using `Push` may be used.
+
+        GTK+ Note
+        ---------
+
+        When running under GTK+ 2, GTK+ stock item IDs (e.g. 'gtk-cdrom') may be used
+        as well.  Additionally, if wxGTK was compiled against GTK+ >= 2.4, then it is
+        also possible to load icons from current icon theme by specifying their name
+        without the extension and directory components. Icon themes recognized by GTK+
+        follow the freedesktop.org Icon Themes specification.  Note that themes are
+        not guaranteed to contain all icons, so wx.ArtProvider may return wx.NullBitmap
+        or wx.NullIcon.  The default theme is typically installed in /usr/share/icons/hicolor.
+
+            * wx.ART_ADD_BOOKMARK
+            * wx.ART_DEL_BOOKMARK
+            * wx.ART_HELP_SIDE_PANEL
+            * wx.ART_HELP_SETTINGS
+            * wx.ART_HELP_BOOK
+            * wx.ART_HELP_FOLDER
+            * wx.ART_HELP_PAGE
+            * wx.ART_GO_BACK
+            * wx.ART_GO_FORWARD
+            * wx.ART_GO_UP
+            * wx.ART_GO_DOWN
+            * wx.ART_GO_TO_PARENT
+            * wx.ART_GO_HOME
+            * wx.ART_FILE_OPEN
+            * wx.ART_FILE_SAVE
+            * wx.ART_FILE_SAVE_AS
+            * wx.ART_PRINT
+            * wx.ART_HELP
+            * wx.ART_TIP
+            * wx.ART_REPORT_VIEW
+            * wx.ART_LIST_VIEW
+            * wx.ART_NEW_DIR
+            * wx.ART_HARDDISK
+            * wx.ART_FLOPPY
+            * wx.ART_CDROM
+            * wx.ART_REMOVABLE
+            * wx.ART_FOLDER
+            * wx.ART_FOLDER_OPEN
+            * wx.ART_GO_DIR_UP
+            * wx.ART_EXECUTABLE_FILE
+            * wx.ART_NORMAL_FILE
+            * wx.ART_TICK_MARK
+            * wx.ART_CROSS_MARK
+            * wx.ART_ERROR
+            * wx.ART_QUESTION
+            * wx.ART_WARNING
+            * wx.ART_INFORMATION
+            * wx.ART_MISSING_IMAGE
+            * wx.ART_COPY
+            * wx.ART_CUT
+            * wx.ART_PASTE
+            * wx.ART_DELETE
+            * wx.ART_NEW
+            * wx.ART_UNDO
+            * wx.ART_REDO
+            * wx.ART_QUIT
+            * wx.ART_FIND
+            * wx.ART_FIND_AND_REPLACE
+
+
+        Clients
+        -------
+
+        The Client is the entity that calls wx.ArtProvider's `GetBitmap` or
+        `GetIcon` function.  Client IDs serve as a hint to wx.ArtProvider
+        that is supposed to help it to choose the best looking bitmap. For
+        example it is often desirable to use slightly different icons in menus
+        and toolbars even though they represent the same action (e.g.
+        wx.ART_FILE_OPEN). Remember that this is really only a hint for
+        wx.ArtProvider -- it is common that `wx.ArtProvider.GetBitmap` returns
+        identical bitmap for different client values!
+
+            * wx.ART_TOOLBAR
+            * wx.ART_MENU
+            * wx.ART_FRAME_ICON
+            * wx.ART_CMN_DIALOG
+            * wx.ART_HELP_BROWSER
+            * wx.ART_MESSAGE_BOX
+            * wx.ART_BUTTON
+            * wx.ART_OTHER (used for all requests that don't fit into any
+              of the categories above)
+
         """
         _misc_.ArtProvider_swiginit(self,_misc_.new_ArtProvider(*args, **kwargs))
         self._setCallbackInfo(self, ArtProvider)
         """
         _misc_.ArtProvider_swiginit(self,_misc_.new_ArtProvider(*args, **kwargs))
         self._setCallbackInfo(self, ArtProvider)
@@ -4628,6 +4812,29 @@ class DataFormat(object):
     example, pasting data from the clipboard only if the data is in a
     format the program understands.  A data format is is used to uniquely
     identify this format.
     example, pasting data from the clipboard only if the data is in a
     format the program understands.  A data format is is used to uniquely
     identify this format.
+    On the system level, a data format is usually just a number, (which
+    may be the CLIPFORMAT under Windows or Atom under X11, for example.)
+
+    The standard format IDs are:
+
+        ================    =====================================
+        wx.DF_INVALID       An invalid format
+        wx.DF_TEXT          Text format 
+        wx.DF_BITMAP        A bitmap (wx.Bitmap)
+        wx.DF_METAFILE      A metafile (wx.Metafile, Windows only)
+        wx.DF_FILENAME      A list of filenames
+        wx.DF_HTML          An HTML string. This is only valid on
+                            Windows and non-unicode builds
+        ================    =====================================
+
+    Besies the standard formats, the application may also use custom
+    formats which are identified by their names (strings) and not numeric
+    identifiers. Although internally custom format must be created (or
+    registered) first, you shouldn't care about it because it is done
+    automatically the first time the wxDataFormat object corresponding to
+    a given format name is created.
+
+
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -4718,6 +4925,39 @@ class DataObject(object):
     you should instead derive from `wx.PyDataObjectSimple` or use
     `wx.CustomDataObject`.
 
     you should instead derive from `wx.PyDataObjectSimple` or use
     `wx.CustomDataObject`.
 
+    Not surprisingly, being 'smart' comes at a price of added
+    complexity. This is reasonable for the situations when you really need
+    to support multiple formats, but may be annoying if you only want to
+    do something simple like cut and paste text.
+
+    To provide a solution for both cases, wxWidgets has two predefined
+    classes which derive from wx.DataObject: `wx.DataObjectSimple` and
+    `wx.DataObjectComposite`.  `wx.DataObjectSimple` is the simplest
+    wx.DataObject possible and only holds data in a single format (such as
+    text or bitmap) and `wx.DataObjectComposite` is the simplest way to
+    implement a wx.DataObject which supports multiple simultaneous formats
+    because it achievs this by simply holding several
+    `wx.DataObjectSimple` objects.
+
+    Please note that the easiest way to use drag and drop and the
+    clipboard with multiple formats is by using `wx.DataObjectComposite`,
+    but it is not the most efficient one as each `wx.DataObjectSimple`
+    would contain the whole data in its respective formats. Now imagine
+    that you want to paste 200 pages of text in your proprietary format,
+    as well as Word, RTF, HTML, Unicode and plain text to the clipboard
+    and even today's computers are in trouble. For this case, you will
+    have to derive from wx.DataObject directly and make it enumerate its
+    formats and provide the data in the requested format on
+    demand. (**TODO**: This is currently not possible from Python.  Make
+    it so.)
+
+    Note that the platform transfer mechanisms for the clipboard and drag
+    and drop, do not copy any data out of the source application until
+    another application actually requests the data. This is in contrast to
+    the 'feel' offered to the user of a program who would normally think
+    that the data resides in the clipboard after having pressed 'Copy' -
+    in reality it is only declared to be available.
+
     """
     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"
     """
     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"
@@ -4776,6 +5016,7 @@ class DataObject(object):
         GetDataHere(self, DataFormat format) -> String
 
         Get the data bytes in the specified format, returns None on failure.
         GetDataHere(self, DataFormat format) -> String
 
         Get the data bytes in the specified format, returns None on failure.
+        :todo: This should use the python buffer interface isntead...
         """
         return _misc_.DataObject_GetDataHere(*args, **kwargs)
 
         """
         return _misc_.DataObject_GetDataHere(*args, **kwargs)
 
@@ -4785,6 +5026,7 @@ class DataObject(object):
 
         Set the data in the specified format from the bytes in the the data string.
 
 
         Set the data in the specified format from the bytes in the the data string.
 
+        :todo: This should use the python buffer interface isntead...
         """
         return _misc_.DataObject_SetData(*args, **kwargs)
 
         """
         return _misc_.DataObject_SetData(*args, **kwargs)
 
@@ -4872,6 +5114,29 @@ class PyDataObjectSimple(DataObjectSimple):
     class and overload `GetDataSize`, `GetDataHere` and `SetData` when you
     need to create your own simple single-format type of `wx.DataObject`.
 
     class and overload `GetDataSize`, `GetDataHere` and `SetData` when you
     need to create your own simple single-format type of `wx.DataObject`.
 
+    Here is a simple example::
+
+        class MyDataObject(wx.PyDataObjectSimple):
+            def __init__(self):
+                wx.PyDataObjectSimple.__init__(
+                    self, wx.CustomDataFormat('MyDOFormat'))
+                self.data = ''
+
+            def GetDataSize(self):
+                return len(self.data)
+            def GetDataHere(self):
+                return self.data  # returns a string  
+            def SetData(self, data):
+                self.data = data
+                return True
+
+    Note that there is already a `wx.CustomDataObject` class that behaves
+    very similarly to this example.  The value of creating your own
+    derived class like this is to be able to do additional things when the
+    data is requested or given via the clipboard or drag and drop
+    operation, such as generate the data value or decode it into needed
+    data structures.
+
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -4885,6 +5150,29 @@ class PyDataObjectSimple(DataObjectSimple):
         class and overload `GetDataSize`, `GetDataHere` and `SetData` when you
         need to create your own simple single-format type of `wx.DataObject`.
 
         class and overload `GetDataSize`, `GetDataHere` and `SetData` when you
         need to create your own simple single-format type of `wx.DataObject`.
 
+        Here is a simple example::
+
+            class MyDataObject(wx.PyDataObjectSimple):
+                def __init__(self):
+                    wx.PyDataObjectSimple.__init__(
+                        self, wx.CustomDataFormat('MyDOFormat'))
+                    self.data = ''
+
+                def GetDataSize(self):
+                    return len(self.data)
+                def GetDataHere(self):
+                    return self.data  # returns a string  
+                def SetData(self, data):
+                    self.data = data
+                    return True
+
+        Note that there is already a `wx.CustomDataObject` class that behaves
+        very similarly to this example.  The value of creating your own
+        derived class like this is to be able to do additional things when the
+        data is requested or given via the clipboard or drag and drop
+        operation, such as generate the data value or decode it into needed
+        data structures.
+
         """
         _misc_.PyDataObjectSimple_swiginit(self,_misc_.new_PyDataObjectSimple(*args, **kwargs))
         self._setCallbackInfo(self, PyDataObjectSimple)
         """
         _misc_.PyDataObjectSimple_swiginit(self,_misc_.new_PyDataObjectSimple(*args, **kwargs))
         self._setCallbackInfo(self, PyDataObjectSimple)
@@ -5050,6 +5338,7 @@ class BitmapDataObject(DataObjectSimple):
     data. It can be used without change to paste data into the `wx.Clipboard`
     or a `wx.DropSource`.
 
     data. It can be used without change to paste data into the `wx.Clipboard`
     or a `wx.DropSource`.
 
+    :see: `wx.PyBitmapDataObject` if you wish to override `GetBitmap` to increase efficiency.
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -6623,8 +6912,8 @@ def AboutBox(*args, **kwargs):
     This function shows the standard about dialog containing the
     information specified in ``info``. If the current platform has a
     native about dialog which is capable of showing all the fields in
     This function shows the standard about dialog containing the
     information specified in ``info``. If the current platform has a
     native about dialog which is capable of showing all the fields in
-    ``info``, the native dialog is used, otherwise the function falls back
-    to the generic wxWidgets version of the dialog.
+    `wx.AboutDialogInfo`, the native dialog is used, otherwise the
+    function falls back to the generic wxWidgets version of the dialog.
     """
   return _misc_.AboutBox(*args, **kwargs)
 
     """
   return _misc_.AboutBox(*args, **kwargs)
 
index d8e57dedb065160a835b69a34e8a77a7a094498f..4eeb91695dc17fafa7721004e8470878a661bbb0 100644 (file)
@@ -4441,88 +4441,6 @@ def MemoryDCFromDC(*args, **kwargs):
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-BUFFER_VIRTUAL_AREA = _gdi_.BUFFER_VIRTUAL_AREA
-BUFFER_CLIENT_AREA = _gdi_.BUFFER_CLIENT_AREA
-class BufferedDC(MemoryDC):
-    """
-    This simple class provides a simple way to avoid flicker: when drawing
-    on it, everything is in fact first drawn on an in-memory buffer (a
-    `wx.Bitmap`) and then copied to the screen only once, when this object
-    is destroyed.
-
-    It can be used in the same way as any other device context.
-    wx.BufferedDC itself typically replaces `wx.ClientDC`, if you want to
-    use it in your EVT_PAINT handler, you should look at
-    `wx.BufferedPaintDC`.
-
-    Please note that GTK+ 2.0 and OS X provide double buffering themselves
-    natively. wxBufferedDC is aware of this however, and will bypass the buffering
-    unless an explicit buffer bitmap is given.
-
-    """
-    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.
-        """
-        _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
-
-    __swig_destroy__ = _gdi_.delete_BufferedDC
-    __del__ = lambda self : None;
-    def UnMask(*args, **kwargs):
-        """
-        UnMask(self)
-
-        Blits the buffer to the dc, and detaches the dc from the buffer (so it
-        can be effectively used once only).  This is usually only called in
-        the destructor.
-        """
-        return _gdi_.BufferedDC_UnMask(*args, **kwargs)
-
-_gdi_.BufferedDC_swigregister(BufferedDC)
-
-class BufferedPaintDC(BufferedDC):
-    """
-    This is a subclass of `wx.BufferedDC` which can be used inside of an
-    EVT_PAINT event handler. Just create an object of this class instead
-    of `wx.PaintDC` and that's all you have to do to (mostly) avoid
-    flicker. The only thing to watch out for is that if you are using this
-    class together with `wx.ScrolledWindow`, you probably do **not** want
-    to call `wx.Window.PrepareDC` on it as it already does this internally
-    for the real underlying `wx.PaintDC`.
-
-    If your window is already fully buffered in a `wx.Bitmap` then your
-    EVT_PAINT handler can be as simple as just creating a
-    ``wx.BufferedPaintDC`` as it will `Blit` the buffer to the window
-    automatically when it is destroyed.  For example::
-
-        def OnPaint(self, event):
-            dc = wx.BufferedPaintDC(self, self.buffer)
-
-
-
-    """
-    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
-
-        Create a buffered paint DC.  As with `wx.BufferedDC`, you may either
-        provide the bitmap to be used for buffering or let this object create
-        one internally (in the latter case, the size of the client part of the
-        window is automatically used).
-        """
-        _gdi_.BufferedPaintDC_swiginit(self,_gdi_.new_BufferedPaintDC(*args, **kwargs))
-_gdi_.BufferedPaintDC_swigregister(BufferedPaintDC)
-
-#---------------------------------------------------------------------------
-
 class ScreenDC(DC):
     """
     A wxScreenDC can be used to paint anywhere on the screen. This should
 class ScreenDC(DC):
     """
     A wxScreenDC can be used to paint anywhere on the screen. This should
@@ -4664,20 +4582,110 @@ _gdi_.PaintDC_swigregister(PaintDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-if 'wxMac' in wx.PlatformInfo or 'gtk2' in wx.PlatformInfo:
-    _AutoBufferedPaintDCBase = PaintDC
-else:
-    _AutoBufferedPaintDCBase = BufferedPaintDC
-        
-class AutoBufferedPaintDC(_AutoBufferedPaintDCBase):
+BUFFER_VIRTUAL_AREA = _gdi_.BUFFER_VIRTUAL_AREA
+BUFFER_CLIENT_AREA = _gdi_.BUFFER_CLIENT_AREA
+class BufferedDC(MemoryDC):
+    """
+    This simple class provides a simple way to avoid flicker: when drawing
+    on it, everything is in fact first drawn on an in-memory buffer (a
+    `wx.Bitmap`) and then copied to the screen only once, when this object
+    is destroyed.
+
+    It can be used in the same way as any other device context.
+    wx.BufferedDC itself typically replaces `wx.ClientDC`, if you want to
+    use it in your EVT_PAINT handler, you should look at
+    `wx.BufferedPaintDC`.
+
+    Please note that GTK+ 2.0 and OS X provide double buffering themselves
+    natively. wxBufferedDC is aware of this however, and will bypass the buffering
+    unless an explicit buffer bitmap is given.
+
+    """
+    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.
+        """
+        _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
+
+    __swig_destroy__ = _gdi_.delete_BufferedDC
+    __del__ = lambda self : None;
+    def UnMask(*args, **kwargs):
+        """
+        UnMask(self)
+
+        Blits the buffer to the dc, and detaches the dc from the buffer (so it
+        can be effectively used once only).  This is usually only called in
+        the destructor.
+        """
+        return _gdi_.BufferedDC_UnMask(*args, **kwargs)
+
+_gdi_.BufferedDC_swigregister(BufferedDC)
+
+class BufferedPaintDC(BufferedDC):
+    """
+    This is a subclass of `wx.BufferedDC` which can be used inside of an
+    EVT_PAINT event handler. Just create an object of this class instead
+    of `wx.PaintDC` and that's all you have to do to (mostly) avoid
+    flicker. The only thing to watch out for is that if you are using this
+    class together with `wx.ScrolledWindow`, you probably do **not** want
+    to call `wx.Window.PrepareDC` on it as it already does this internally
+    for the real underlying `wx.PaintDC`.
+
+    If your window is already fully buffered in a `wx.Bitmap` then your
+    EVT_PAINT handler can be as simple as just creating a
+    ``wx.BufferedPaintDC`` as it will `Blit` the buffer to the window
+    automatically when it is destroyed.  For example::
+
+        def OnPaint(self, event):
+            dc = wx.BufferedPaintDC(self, self.buffer)
+
+
+
+    """
+    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
+
+        Create a buffered paint DC.  As with `wx.BufferedDC`, you may either
+        provide the bitmap to be used for buffering or let this object create
+        one internally (in the latter case, the size of the client part of the
+        window is automatically used).
+        """
+        _gdi_.BufferedPaintDC_swiginit(self,_gdi_.new_BufferedPaintDC(*args, **kwargs))
+_gdi_.BufferedPaintDC_swigregister(BufferedPaintDC)
+
+#---------------------------------------------------------------------------
+
+class AutoBufferedPaintDC(DC):
     """
     If the current platform double buffers by default then this DC is the
     same as a plain `wx.PaintDC`, otherwise it is a `wx.BufferedPaintDC`.
 
     :see: `wx.AutoBufferedPaintDCFactory`
     """
     If the current platform double buffers by default then this DC is the
     same as a plain `wx.PaintDC`, otherwise it is a `wx.BufferedPaintDC`.
 
     :see: `wx.AutoBufferedPaintDCFactory`
+
     """
     """
-    def __init__(self, window):
-        _AutoBufferedPaintDCBase.__init__(self, window)
+    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) -> AutoBufferedPaintDC
+
+        If the current platform double buffers by default then this DC is the
+        same as a plain `wx.PaintDC`, otherwise it is a `wx.BufferedPaintDC`.
+
+        :see: `wx.AutoBufferedPaintDCFactory`
+
+        """
+        _gdi_.AutoBufferedPaintDC_swiginit(self,_gdi_.new_AutoBufferedPaintDC(*args, **kwargs))
+_gdi_.AutoBufferedPaintDC_swigregister(AutoBufferedPaintDC)
 
 
 def AutoBufferedPaintDCFactory(*args, **kwargs):
 
 
 def AutoBufferedPaintDCFactory(*args, **kwargs):
@@ -4685,10 +4693,10 @@ def AutoBufferedPaintDCFactory(*args, **kwargs):
     AutoBufferedPaintDCFactory(Window window) -> DC
 
     Checks if the window is natively double buffered and will return a
     AutoBufferedPaintDCFactory(Window window) -> DC
 
     Checks if the window is natively double buffered and will return a
-    `wx.PaintDC` if it is, a `wx.BufferedPaintDC` otherwise.  The
-    advantage of this function over `wx.AutoBufferedPaintDC` is that this
-    function will check if the the specified window supports has
-    double-buffering enabled rather than just going by platform defaults.
+    `wx.PaintDC` if it is, a `wx.BufferedPaintDC` otherwise.  The advantage of
+    this function over `wx.AutoBufferedPaintDC` is that this function will check
+    if the the specified window has double-buffering enabled rather than just
+    going by platform defaults.
     """
   return _gdi_.AutoBufferedPaintDCFactory(*args, **kwargs)
 #---------------------------------------------------------------------------
     """
   return _gdi_.AutoBufferedPaintDCFactory(*args, **kwargs)
 #---------------------------------------------------------------------------
index d35850b95c02f715cc05204e6afa42c6e05f0d68..33b1c023f9054484be0eb0c4c02ff1717783228d 100644 (file)
@@ -2476,151 +2476,152 @@ SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags)
 #define SWIGTYPE_p_wxActivateEvent swig_types[10]
 #define SWIGTYPE_p_wxAlphaPixelData swig_types[11]
 #define SWIGTYPE_p_wxAlphaPixelData_Accessor swig_types[12]
 #define SWIGTYPE_p_wxActivateEvent swig_types[10]
 #define SWIGTYPE_p_wxAlphaPixelData swig_types[11]
 #define SWIGTYPE_p_wxAlphaPixelData_Accessor swig_types[12]
-#define SWIGTYPE_p_wxBMPHandler swig_types[13]
-#define SWIGTYPE_p_wxBitmap swig_types[14]
-#define SWIGTYPE_p_wxBoxSizer swig_types[15]
-#define SWIGTYPE_p_wxBrush swig_types[16]
-#define SWIGTYPE_p_wxBrushList swig_types[17]
-#define SWIGTYPE_p_wxBufferedDC swig_types[18]
-#define SWIGTYPE_p_wxBufferedPaintDC swig_types[19]
-#define SWIGTYPE_p_wxCURHandler swig_types[20]
-#define SWIGTYPE_p_wxChar swig_types[21]
-#define SWIGTYPE_p_wxChildFocusEvent swig_types[22]
-#define SWIGTYPE_p_wxClientDC swig_types[23]
-#define SWIGTYPE_p_wxClipboardTextEvent swig_types[24]
-#define SWIGTYPE_p_wxCloseEvent swig_types[25]
-#define SWIGTYPE_p_wxColor swig_types[26]
-#define SWIGTYPE_p_wxColour swig_types[27]
-#define SWIGTYPE_p_wxColourDatabase swig_types[28]
-#define SWIGTYPE_p_wxCommandEvent swig_types[29]
-#define SWIGTYPE_p_wxContextMenuEvent swig_types[30]
-#define SWIGTYPE_p_wxControl swig_types[31]
-#define SWIGTYPE_p_wxControlWithItems swig_types[32]
-#define SWIGTYPE_p_wxCursor swig_types[33]
-#define SWIGTYPE_p_wxDC swig_types[34]
-#define SWIGTYPE_p_wxDCOverlay swig_types[35]
-#define SWIGTYPE_p_wxDash swig_types[36]
-#define SWIGTYPE_p_wxDateEvent swig_types[37]
-#define SWIGTYPE_p_wxDisplayChangedEvent swig_types[38]
-#define SWIGTYPE_p_wxDropFilesEvent swig_types[39]
-#define SWIGTYPE_p_wxDuplexMode swig_types[40]
-#define SWIGTYPE_p_wxEffects swig_types[41]
-#define SWIGTYPE_p_wxEncodingConverter swig_types[42]
-#define SWIGTYPE_p_wxEraseEvent swig_types[43]
-#define SWIGTYPE_p_wxEvent swig_types[44]
-#define SWIGTYPE_p_wxEvtHandler swig_types[45]
-#define SWIGTYPE_p_wxFSFile swig_types[46]
-#define SWIGTYPE_p_wxFileSystem swig_types[47]
-#define SWIGTYPE_p_wxFlexGridSizer swig_types[48]
-#define SWIGTYPE_p_wxFocusEvent swig_types[49]
-#define SWIGTYPE_p_wxFont swig_types[50]
-#define SWIGTYPE_p_wxFontList swig_types[51]
-#define SWIGTYPE_p_wxFontMapper swig_types[52]
-#define SWIGTYPE_p_wxGBSizerItem swig_types[53]
-#define SWIGTYPE_p_wxGCDC swig_types[54]
-#define SWIGTYPE_p_wxGDIObjListBase swig_types[55]
-#define SWIGTYPE_p_wxGDIObject swig_types[56]
-#define SWIGTYPE_p_wxGIFHandler swig_types[57]
-#define SWIGTYPE_p_wxGraphicsContext swig_types[58]
-#define SWIGTYPE_p_wxGraphicsPath swig_types[59]
-#define SWIGTYPE_p_wxGridBagSizer swig_types[60]
-#define SWIGTYPE_p_wxGridSizer swig_types[61]
-#define SWIGTYPE_p_wxHeaderButtonParams swig_types[62]
-#define SWIGTYPE_p_wxICOHandler swig_types[63]
-#define SWIGTYPE_p_wxIcon swig_types[64]
-#define SWIGTYPE_p_wxIconBundle swig_types[65]
-#define SWIGTYPE_p_wxIconLocation swig_types[66]
-#define SWIGTYPE_p_wxIconizeEvent swig_types[67]
-#define SWIGTYPE_p_wxIdleEvent swig_types[68]
-#define SWIGTYPE_p_wxImage swig_types[69]
-#define SWIGTYPE_p_wxImageHandler swig_types[70]
-#define SWIGTYPE_p_wxImageList swig_types[71]
-#define SWIGTYPE_p_wxIndividualLayoutConstraint swig_types[72]
-#define SWIGTYPE_p_wxInitDialogEvent swig_types[73]
-#define SWIGTYPE_p_wxJPEGHandler swig_types[74]
-#define SWIGTYPE_p_wxKeyEvent swig_types[75]
-#define SWIGTYPE_p_wxLanguageInfo swig_types[76]
-#define SWIGTYPE_p_wxLayoutConstraints swig_types[77]
-#define SWIGTYPE_p_wxLocale swig_types[78]
-#define SWIGTYPE_p_wxMask swig_types[79]
-#define SWIGTYPE_p_wxMaximizeEvent swig_types[80]
-#define SWIGTYPE_p_wxMemoryDC swig_types[81]
-#define SWIGTYPE_p_wxMenu swig_types[82]
-#define SWIGTYPE_p_wxMenuBar swig_types[83]
-#define SWIGTYPE_p_wxMenuEvent swig_types[84]
-#define SWIGTYPE_p_wxMenuItem swig_types[85]
-#define SWIGTYPE_p_wxMetaFile swig_types[86]
-#define SWIGTYPE_p_wxMetaFileDC swig_types[87]
-#define SWIGTYPE_p_wxMirrorDC swig_types[88]
-#define SWIGTYPE_p_wxMouseCaptureChangedEvent swig_types[89]
-#define SWIGTYPE_p_wxMouseCaptureLostEvent swig_types[90]
-#define SWIGTYPE_p_wxMouseEvent swig_types[91]
-#define SWIGTYPE_p_wxMoveEvent swig_types[92]
-#define SWIGTYPE_p_wxNativeEncodingInfo swig_types[93]
-#define SWIGTYPE_p_wxNativeFontInfo swig_types[94]
-#define SWIGTYPE_p_wxNativePixelData swig_types[95]
-#define SWIGTYPE_p_wxNativePixelData_Accessor swig_types[96]
-#define SWIGTYPE_p_wxNavigationKeyEvent swig_types[97]
-#define SWIGTYPE_p_wxNcPaintEvent swig_types[98]
-#define SWIGTYPE_p_wxNotifyEvent swig_types[99]
-#define SWIGTYPE_p_wxObject swig_types[100]
-#define SWIGTYPE_p_wxOverlay swig_types[101]
-#define SWIGTYPE_p_wxPCXHandler swig_types[102]
-#define SWIGTYPE_p_wxPNGHandler swig_types[103]
-#define SWIGTYPE_p_wxPNMHandler swig_types[104]
-#define SWIGTYPE_p_wxPaintDC swig_types[105]
-#define SWIGTYPE_p_wxPaintEvent swig_types[106]
-#define SWIGTYPE_p_wxPalette swig_types[107]
-#define SWIGTYPE_p_wxPaletteChangedEvent swig_types[108]
-#define SWIGTYPE_p_wxPaperSize swig_types[109]
-#define SWIGTYPE_p_wxPen swig_types[110]
-#define SWIGTYPE_p_wxPenList swig_types[111]
-#define SWIGTYPE_p_wxPixelDataBase swig_types[112]
-#define SWIGTYPE_p_wxPoint swig_types[113]
-#define SWIGTYPE_p_wxPoint2D swig_types[114]
-#define SWIGTYPE_p_wxPostScriptDC swig_types[115]
-#define SWIGTYPE_p_wxPrintData swig_types[116]
-#define SWIGTYPE_p_wxPrinterDC swig_types[117]
-#define SWIGTYPE_p_wxPseudoDC swig_types[118]
-#define SWIGTYPE_p_wxPyApp swig_types[119]
-#define SWIGTYPE_p_wxPyCommandEvent swig_types[120]
-#define SWIGTYPE_p_wxPyEvent swig_types[121]
-#define SWIGTYPE_p_wxPyFontEnumerator swig_types[122]
-#define SWIGTYPE_p_wxPyImageHandler swig_types[123]
-#define SWIGTYPE_p_wxPyLocale swig_types[124]
-#define SWIGTYPE_p_wxPySizer swig_types[125]
-#define SWIGTYPE_p_wxPyValidator swig_types[126]
-#define SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[127]
-#define SWIGTYPE_p_wxRect swig_types[128]
-#define SWIGTYPE_p_wxRegion swig_types[129]
-#define SWIGTYPE_p_wxRegionIterator swig_types[130]
-#define SWIGTYPE_p_wxRendererNative swig_types[131]
-#define SWIGTYPE_p_wxRendererVersion swig_types[132]
-#define SWIGTYPE_p_wxScreenDC swig_types[133]
-#define SWIGTYPE_p_wxScrollEvent swig_types[134]
-#define SWIGTYPE_p_wxScrollWinEvent swig_types[135]
-#define SWIGTYPE_p_wxSetCursorEvent swig_types[136]
-#define SWIGTYPE_p_wxShowEvent swig_types[137]
-#define SWIGTYPE_p_wxSize swig_types[138]
-#define SWIGTYPE_p_wxSizeEvent swig_types[139]
-#define SWIGTYPE_p_wxSizer swig_types[140]
-#define SWIGTYPE_p_wxSizerItem swig_types[141]
-#define SWIGTYPE_p_wxSplitterRenderParams swig_types[142]
-#define SWIGTYPE_p_wxStaticBoxSizer swig_types[143]
-#define SWIGTYPE_p_wxStdDialogButtonSizer swig_types[144]
-#define SWIGTYPE_p_wxStockGDI swig_types[145]
-#define SWIGTYPE_p_wxString swig_types[146]
-#define SWIGTYPE_p_wxSysColourChangedEvent swig_types[147]
-#define SWIGTYPE_p_wxTIFFHandler swig_types[148]
-#define SWIGTYPE_p_wxUpdateUIEvent swig_types[149]
-#define SWIGTYPE_p_wxValidator swig_types[150]
-#define SWIGTYPE_p_wxWindow swig_types[151]
-#define SWIGTYPE_p_wxWindowCreateEvent swig_types[152]
-#define SWIGTYPE_p_wxWindowDC swig_types[153]
-#define SWIGTYPE_p_wxWindowDestroyEvent swig_types[154]
-#define SWIGTYPE_p_wxXPMHandler swig_types[155]
-static swig_type_info *swig_types[157];
-static swig_module_info swig_module = {swig_types, 156, 0, 0, 0, 0};
+#define SWIGTYPE_p_wxAutoBufferedPaintDC swig_types[13]
+#define SWIGTYPE_p_wxBMPHandler swig_types[14]
+#define SWIGTYPE_p_wxBitmap swig_types[15]
+#define SWIGTYPE_p_wxBoxSizer swig_types[16]
+#define SWIGTYPE_p_wxBrush swig_types[17]
+#define SWIGTYPE_p_wxBrushList swig_types[18]
+#define SWIGTYPE_p_wxBufferedDC swig_types[19]
+#define SWIGTYPE_p_wxBufferedPaintDC swig_types[20]
+#define SWIGTYPE_p_wxCURHandler swig_types[21]
+#define SWIGTYPE_p_wxChar swig_types[22]
+#define SWIGTYPE_p_wxChildFocusEvent swig_types[23]
+#define SWIGTYPE_p_wxClientDC swig_types[24]
+#define SWIGTYPE_p_wxClipboardTextEvent swig_types[25]
+#define SWIGTYPE_p_wxCloseEvent swig_types[26]
+#define SWIGTYPE_p_wxColor swig_types[27]
+#define SWIGTYPE_p_wxColour swig_types[28]
+#define SWIGTYPE_p_wxColourDatabase swig_types[29]
+#define SWIGTYPE_p_wxCommandEvent swig_types[30]
+#define SWIGTYPE_p_wxContextMenuEvent swig_types[31]
+#define SWIGTYPE_p_wxControl swig_types[32]
+#define SWIGTYPE_p_wxControlWithItems swig_types[33]
+#define SWIGTYPE_p_wxCursor swig_types[34]
+#define SWIGTYPE_p_wxDC swig_types[35]
+#define SWIGTYPE_p_wxDCOverlay swig_types[36]
+#define SWIGTYPE_p_wxDash swig_types[37]
+#define SWIGTYPE_p_wxDateEvent swig_types[38]
+#define SWIGTYPE_p_wxDisplayChangedEvent swig_types[39]
+#define SWIGTYPE_p_wxDropFilesEvent swig_types[40]
+#define SWIGTYPE_p_wxDuplexMode swig_types[41]
+#define SWIGTYPE_p_wxEffects swig_types[42]
+#define SWIGTYPE_p_wxEncodingConverter swig_types[43]
+#define SWIGTYPE_p_wxEraseEvent swig_types[44]
+#define SWIGTYPE_p_wxEvent swig_types[45]
+#define SWIGTYPE_p_wxEvtHandler swig_types[46]
+#define SWIGTYPE_p_wxFSFile swig_types[47]
+#define SWIGTYPE_p_wxFileSystem swig_types[48]
+#define SWIGTYPE_p_wxFlexGridSizer swig_types[49]
+#define SWIGTYPE_p_wxFocusEvent swig_types[50]
+#define SWIGTYPE_p_wxFont swig_types[51]
+#define SWIGTYPE_p_wxFontList swig_types[52]
+#define SWIGTYPE_p_wxFontMapper swig_types[53]
+#define SWIGTYPE_p_wxGBSizerItem swig_types[54]
+#define SWIGTYPE_p_wxGCDC swig_types[55]
+#define SWIGTYPE_p_wxGDIObjListBase swig_types[56]
+#define SWIGTYPE_p_wxGDIObject swig_types[57]
+#define SWIGTYPE_p_wxGIFHandler swig_types[58]
+#define SWIGTYPE_p_wxGraphicsContext swig_types[59]
+#define SWIGTYPE_p_wxGraphicsPath swig_types[60]
+#define SWIGTYPE_p_wxGridBagSizer swig_types[61]
+#define SWIGTYPE_p_wxGridSizer swig_types[62]
+#define SWIGTYPE_p_wxHeaderButtonParams swig_types[63]
+#define SWIGTYPE_p_wxICOHandler swig_types[64]
+#define SWIGTYPE_p_wxIcon swig_types[65]
+#define SWIGTYPE_p_wxIconBundle swig_types[66]
+#define SWIGTYPE_p_wxIconLocation swig_types[67]
+#define SWIGTYPE_p_wxIconizeEvent swig_types[68]
+#define SWIGTYPE_p_wxIdleEvent swig_types[69]
+#define SWIGTYPE_p_wxImage swig_types[70]
+#define SWIGTYPE_p_wxImageHandler swig_types[71]
+#define SWIGTYPE_p_wxImageList swig_types[72]
+#define SWIGTYPE_p_wxIndividualLayoutConstraint swig_types[73]
+#define SWIGTYPE_p_wxInitDialogEvent swig_types[74]
+#define SWIGTYPE_p_wxJPEGHandler swig_types[75]
+#define SWIGTYPE_p_wxKeyEvent swig_types[76]
+#define SWIGTYPE_p_wxLanguageInfo swig_types[77]
+#define SWIGTYPE_p_wxLayoutConstraints swig_types[78]
+#define SWIGTYPE_p_wxLocale swig_types[79]
+#define SWIGTYPE_p_wxMask swig_types[80]
+#define SWIGTYPE_p_wxMaximizeEvent swig_types[81]
+#define SWIGTYPE_p_wxMemoryDC swig_types[82]
+#define SWIGTYPE_p_wxMenu swig_types[83]
+#define SWIGTYPE_p_wxMenuBar swig_types[84]
+#define SWIGTYPE_p_wxMenuEvent swig_types[85]
+#define SWIGTYPE_p_wxMenuItem swig_types[86]
+#define SWIGTYPE_p_wxMetaFile swig_types[87]
+#define SWIGTYPE_p_wxMetaFileDC swig_types[88]
+#define SWIGTYPE_p_wxMirrorDC swig_types[89]
+#define SWIGTYPE_p_wxMouseCaptureChangedEvent swig_types[90]
+#define SWIGTYPE_p_wxMouseCaptureLostEvent swig_types[91]
+#define SWIGTYPE_p_wxMouseEvent swig_types[92]
+#define SWIGTYPE_p_wxMoveEvent swig_types[93]
+#define SWIGTYPE_p_wxNativeEncodingInfo swig_types[94]
+#define SWIGTYPE_p_wxNativeFontInfo swig_types[95]
+#define SWIGTYPE_p_wxNativePixelData swig_types[96]
+#define SWIGTYPE_p_wxNativePixelData_Accessor swig_types[97]
+#define SWIGTYPE_p_wxNavigationKeyEvent swig_types[98]
+#define SWIGTYPE_p_wxNcPaintEvent swig_types[99]
+#define SWIGTYPE_p_wxNotifyEvent swig_types[100]
+#define SWIGTYPE_p_wxObject swig_types[101]
+#define SWIGTYPE_p_wxOverlay swig_types[102]
+#define SWIGTYPE_p_wxPCXHandler swig_types[103]
+#define SWIGTYPE_p_wxPNGHandler swig_types[104]
+#define SWIGTYPE_p_wxPNMHandler swig_types[105]
+#define SWIGTYPE_p_wxPaintDC swig_types[106]
+#define SWIGTYPE_p_wxPaintEvent swig_types[107]
+#define SWIGTYPE_p_wxPalette swig_types[108]
+#define SWIGTYPE_p_wxPaletteChangedEvent swig_types[109]
+#define SWIGTYPE_p_wxPaperSize swig_types[110]
+#define SWIGTYPE_p_wxPen swig_types[111]
+#define SWIGTYPE_p_wxPenList swig_types[112]
+#define SWIGTYPE_p_wxPixelDataBase swig_types[113]
+#define SWIGTYPE_p_wxPoint swig_types[114]
+#define SWIGTYPE_p_wxPoint2D swig_types[115]
+#define SWIGTYPE_p_wxPostScriptDC swig_types[116]
+#define SWIGTYPE_p_wxPrintData swig_types[117]
+#define SWIGTYPE_p_wxPrinterDC swig_types[118]
+#define SWIGTYPE_p_wxPseudoDC swig_types[119]
+#define SWIGTYPE_p_wxPyApp swig_types[120]
+#define SWIGTYPE_p_wxPyCommandEvent swig_types[121]
+#define SWIGTYPE_p_wxPyEvent swig_types[122]
+#define SWIGTYPE_p_wxPyFontEnumerator swig_types[123]
+#define SWIGTYPE_p_wxPyImageHandler swig_types[124]
+#define SWIGTYPE_p_wxPyLocale swig_types[125]
+#define SWIGTYPE_p_wxPySizer swig_types[126]
+#define SWIGTYPE_p_wxPyValidator swig_types[127]
+#define SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[128]
+#define SWIGTYPE_p_wxRect swig_types[129]
+#define SWIGTYPE_p_wxRegion swig_types[130]
+#define SWIGTYPE_p_wxRegionIterator swig_types[131]
+#define SWIGTYPE_p_wxRendererNative swig_types[132]
+#define SWIGTYPE_p_wxRendererVersion swig_types[133]
+#define SWIGTYPE_p_wxScreenDC swig_types[134]
+#define SWIGTYPE_p_wxScrollEvent swig_types[135]
+#define SWIGTYPE_p_wxScrollWinEvent swig_types[136]
+#define SWIGTYPE_p_wxSetCursorEvent swig_types[137]
+#define SWIGTYPE_p_wxShowEvent swig_types[138]
+#define SWIGTYPE_p_wxSize swig_types[139]
+#define SWIGTYPE_p_wxSizeEvent swig_types[140]
+#define SWIGTYPE_p_wxSizer swig_types[141]
+#define SWIGTYPE_p_wxSizerItem swig_types[142]
+#define SWIGTYPE_p_wxSplitterRenderParams swig_types[143]
+#define SWIGTYPE_p_wxStaticBoxSizer swig_types[144]
+#define SWIGTYPE_p_wxStdDialogButtonSizer swig_types[145]
+#define SWIGTYPE_p_wxStockGDI swig_types[146]
+#define SWIGTYPE_p_wxString swig_types[147]
+#define SWIGTYPE_p_wxSysColourChangedEvent swig_types[148]
+#define SWIGTYPE_p_wxTIFFHandler swig_types[149]
+#define SWIGTYPE_p_wxUpdateUIEvent swig_types[150]
+#define SWIGTYPE_p_wxValidator swig_types[151]
+#define SWIGTYPE_p_wxWindow swig_types[152]
+#define SWIGTYPE_p_wxWindowCreateEvent swig_types[153]
+#define SWIGTYPE_p_wxWindowDC swig_types[154]
+#define SWIGTYPE_p_wxWindowDestroyEvent swig_types[155]
+#define SWIGTYPE_p_wxXPMHandler swig_types[156]
+static swig_type_info *swig_types[158];
+static swig_module_info swig_module = {swig_types, 157, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
@@ -23204,6 +23205,276 @@ SWIGINTERN PyObject *MemoryDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject
   return SWIG_Python_InitShadowInstance(args);
 }
 
   return SWIG_Python_InitShadowInstance(args);
 }
 
+SWIGINTERN PyObject *_wrap_new_ScreenDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  wxScreenDC *result = 0 ;
+  
+  if (!SWIG_Python_UnpackTuple(args,"new_ScreenDC",0,0,0)) SWIG_fail;
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxScreenDC *)new wxScreenDC();
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxScreenDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTopWin(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
+  wxWindow *arg2 = (wxWindow *) 0 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  char *  kwnames[] = {
+    (char *) "self",(char *) "window", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ScreenDC_StartDrawingOnTopWin",kwnames,&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
+  }
+  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "2"" of type '" "wxWindow *""'"); 
+  }
+  arg2 = reinterpret_cast< wxWindow * >(argp2);
+  {
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (bool)(arg1)->StartDrawingOnTop(arg2);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  {
+    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
+  wxRect *arg2 = (wxRect *) NULL ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  char *  kwnames[] = {
+    (char *) "self",(char *) "rect", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:ScreenDC_StartDrawingOnTop",kwnames,&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
+  }
+  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
+  if (obj1) {
+    res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxRect, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "2"" of type '" "wxRect *""'"); 
+    }
+    arg2 = reinterpret_cast< wxRect * >(argp2);
+  }
+  {
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (bool)(arg1)->StartDrawingOnTop(arg2);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  {
+    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ScreenDC_EndDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject *swig_obj[1] ;
+  
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_EndDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
+  }
+  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
+  {
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (bool)(arg1)->EndDrawingOnTop();
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  {
+    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *ScreenDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxScreenDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *ScreenDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_WindowDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxWindow *arg1 = (wxWindow *) 0 ;
+  wxWindowDC *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  char *  kwnames[] = {
+    (char *) "win", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_WindowDC",kwnames,&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_WindowDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+  }
+  arg1 = reinterpret_cast< wxWindow * >(argp1);
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxWindowDC *)new wxWindowDC(arg1);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxWindowDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *WindowDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxWindowDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *WindowDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_ClientDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxWindow *arg1 = (wxWindow *) 0 ;
+  wxClientDC *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  char *  kwnames[] = {
+    (char *) "win", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_ClientDC",kwnames,&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_ClientDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+  }
+  arg1 = reinterpret_cast< wxWindow * >(argp1);
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxClientDC *)new wxClientDC(arg1);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxClientDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *ClientDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxClientDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *ClientDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_PaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxWindow *arg1 = (wxWindow *) 0 ;
+  wxPaintDC *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  char *  kwnames[] = {
+    (char *) "win", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_PaintDC",kwnames,&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_PaintDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+  }
+  arg1 = reinterpret_cast< wxWindow * >(argp1);
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxPaintDC *)new wxPaintDC(arg1);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxPaintDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *PaintDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxPaintDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *PaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
 SWIGINTERN PyObject *_wrap_new_BufferedDC__SWIG_0(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   wxDC *arg1 = (wxDC *) 0 ;
 SWIGINTERN PyObject *_wrap_new_BufferedDC__SWIG_0(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   wxDC *arg1 = (wxDC *) 0 ;
@@ -23461,238 +23732,10 @@ SWIGINTERN PyObject *BufferedPaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), Py
   return SWIG_Python_InitShadowInstance(args);
 }
 
   return SWIG_Python_InitShadowInstance(args);
 }
 
-SWIGINTERN PyObject *_wrap_new_ScreenDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  wxScreenDC *result = 0 ;
-  
-  if (!SWIG_Python_UnpackTuple(args,"new_ScreenDC",0,0,0)) SWIG_fail;
-  {
-    if (!wxPyCheckForApp()) SWIG_fail;
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxScreenDC *)new wxScreenDC();
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxScreenDC, SWIG_POINTER_NEW |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTopWin(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
-  wxWindow *arg2 = (wxWindow *) 0 ;
-  bool result;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  char *  kwnames[] = {
-    (char *) "self",(char *) "window", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ScreenDC_StartDrawingOnTopWin",kwnames,&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
-  }
-  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxWindow, 0 |  0 );
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "2"" of type '" "wxWindow *""'"); 
-  }
-  arg2 = reinterpret_cast< wxWindow * >(argp2);
-  {
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (bool)(arg1)->StartDrawingOnTop(arg2);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  {
-    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
-  }
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
-  wxRect *arg2 = (wxRect *) NULL ;
-  bool result;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  char *  kwnames[] = {
-    (char *) "self",(char *) "rect", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:ScreenDC_StartDrawingOnTop",kwnames,&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
-  }
-  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
-  if (obj1) {
-    res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxRect, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "2"" of type '" "wxRect *""'"); 
-    }
-    arg2 = reinterpret_cast< wxRect * >(argp2);
-  }
-  {
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (bool)(arg1)->StartDrawingOnTop(arg2);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  {
-    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
-  }
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_ScreenDC_EndDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
-  bool result;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject *swig_obj[1] ;
-  
-  if (!args) SWIG_fail;
-  swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_EndDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
-  }
-  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
-  {
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (bool)(arg1)->EndDrawingOnTop();
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  {
-    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
-  }
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *ScreenDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *obj;
-  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxScreenDC, SWIG_NewClientData(obj));
-  return SWIG_Py_Void();
-}
-
-SWIGINTERN PyObject *ScreenDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  return SWIG_Python_InitShadowInstance(args);
-}
-
-SWIGINTERN PyObject *_wrap_new_WindowDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxWindow *arg1 = (wxWindow *) 0 ;
-  wxWindowDC *result = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  char *  kwnames[] = {
-    (char *) "win", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_WindowDC",kwnames,&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_WindowDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
-  }
-  arg1 = reinterpret_cast< wxWindow * >(argp1);
-  {
-    if (!wxPyCheckForApp()) SWIG_fail;
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxWindowDC *)new wxWindowDC(arg1);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxWindowDC, SWIG_POINTER_NEW |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *WindowDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *obj;
-  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxWindowDC, SWIG_NewClientData(obj));
-  return SWIG_Py_Void();
-}
-
-SWIGINTERN PyObject *WindowDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  return SWIG_Python_InitShadowInstance(args);
-}
-
-SWIGINTERN PyObject *_wrap_new_ClientDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxWindow *arg1 = (wxWindow *) 0 ;
-  wxClientDC *result = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  char *  kwnames[] = {
-    (char *) "win", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_ClientDC",kwnames,&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_ClientDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
-  }
-  arg1 = reinterpret_cast< wxWindow * >(argp1);
-  {
-    if (!wxPyCheckForApp()) SWIG_fail;
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxClientDC *)new wxClientDC(arg1);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxClientDC, SWIG_POINTER_NEW |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *ClientDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *obj;
-  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxClientDC, SWIG_NewClientData(obj));
-  return SWIG_Py_Void();
-}
-
-SWIGINTERN PyObject *ClientDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  return SWIG_Python_InitShadowInstance(args);
-}
-
-SWIGINTERN PyObject *_wrap_new_PaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+SWIGINTERN PyObject *_wrap_new_AutoBufferedPaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
   PyObject *resultobj = 0;
   wxWindow *arg1 = (wxWindow *) 0 ;
   PyObject *resultobj = 0;
   wxWindow *arg1 = (wxWindow *) 0 ;
-  wxPaintDC *result = 0 ;
+  wxAutoBufferedPaintDC *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
@@ -23700,34 +23743,33 @@ SWIGINTERN PyObject *_wrap_new_PaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject
     (char *) "win", NULL 
   };
   
     (char *) "win", NULL 
   };
   
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_PaintDC",kwnames,&obj0)) SWIG_fail;
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_AutoBufferedPaintDC",kwnames,&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_PaintDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_AutoBufferedPaintDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
   }
   arg1 = reinterpret_cast< wxWindow * >(argp1);
   {
   }
   arg1 = reinterpret_cast< wxWindow * >(argp1);
   {
-    if (!wxPyCheckForApp()) SWIG_fail;
     PyThreadState* __tstate = wxPyBeginAllowThreads();
     PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxPaintDC *)new wxPaintDC(arg1);
+    result = (wxAutoBufferedPaintDC *)new wxAutoBufferedPaintDC(arg1);
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) SWIG_fail;
   }
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) SWIG_fail;
   }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxPaintDC, SWIG_POINTER_NEW |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxAutoBufferedPaintDC, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *PaintDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *AutoBufferedPaintDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxPaintDC, SWIG_NewClientData(obj));
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxAutoBufferedPaintDC, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *PaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *AutoBufferedPaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   return SWIG_Python_InitShadowInstance(args);
 }
 
   return SWIG_Python_InitShadowInstance(args);
 }
 
@@ -34882,14 +34924,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"MemoryDC_SelectObject", (PyCFunction) _wrap_MemoryDC_SelectObject, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MemoryDC_swigregister", MemoryDC_swigregister, METH_VARARGS, NULL},
         { (char *)"MemoryDC_swiginit", MemoryDC_swiginit, METH_VARARGS, NULL},
         { (char *)"MemoryDC_SelectObject", (PyCFunction) _wrap_MemoryDC_SelectObject, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MemoryDC_swigregister", MemoryDC_swigregister, METH_VARARGS, NULL},
         { (char *)"MemoryDC_swiginit", MemoryDC_swiginit, METH_VARARGS, NULL},
-        { (char *)"new_BufferedDC", _wrap_new_BufferedDC, METH_VARARGS, NULL},
-        { (char *)"delete_BufferedDC", (PyCFunction)_wrap_delete_BufferedDC, METH_O, NULL},
-        { (char *)"BufferedDC_UnMask", (PyCFunction)_wrap_BufferedDC_UnMask, METH_O, NULL},
-        { (char *)"BufferedDC_swigregister", BufferedDC_swigregister, METH_VARARGS, NULL},
-        { (char *)"BufferedDC_swiginit", BufferedDC_swiginit, METH_VARARGS, NULL},
-        { (char *)"new_BufferedPaintDC", (PyCFunction) _wrap_new_BufferedPaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
-        { (char *)"BufferedPaintDC_swigregister", BufferedPaintDC_swigregister, METH_VARARGS, NULL},
-        { (char *)"BufferedPaintDC_swiginit", BufferedPaintDC_swiginit, METH_VARARGS, NULL},
         { (char *)"new_ScreenDC", (PyCFunction)_wrap_new_ScreenDC, METH_NOARGS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTopWin", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTopWin, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTop", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTop, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_ScreenDC", (PyCFunction)_wrap_new_ScreenDC, METH_NOARGS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTopWin", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTopWin, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTop", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTop, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -34905,6 +34939,17 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"new_PaintDC", (PyCFunction) _wrap_new_PaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"PaintDC_swigregister", PaintDC_swigregister, METH_VARARGS, NULL},
         { (char *)"PaintDC_swiginit", PaintDC_swiginit, METH_VARARGS, NULL},
         { (char *)"new_PaintDC", (PyCFunction) _wrap_new_PaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"PaintDC_swigregister", PaintDC_swigregister, METH_VARARGS, NULL},
         { (char *)"PaintDC_swiginit", PaintDC_swiginit, METH_VARARGS, NULL},
+        { (char *)"new_BufferedDC", _wrap_new_BufferedDC, METH_VARARGS, NULL},
+        { (char *)"delete_BufferedDC", (PyCFunction)_wrap_delete_BufferedDC, METH_O, NULL},
+        { (char *)"BufferedDC_UnMask", (PyCFunction)_wrap_BufferedDC_UnMask, METH_O, NULL},
+        { (char *)"BufferedDC_swigregister", BufferedDC_swigregister, METH_VARARGS, NULL},
+        { (char *)"BufferedDC_swiginit", BufferedDC_swiginit, METH_VARARGS, NULL},
+        { (char *)"new_BufferedPaintDC", (PyCFunction) _wrap_new_BufferedPaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"BufferedPaintDC_swigregister", BufferedPaintDC_swigregister, METH_VARARGS, NULL},
+        { (char *)"BufferedPaintDC_swiginit", BufferedPaintDC_swiginit, METH_VARARGS, NULL},
+        { (char *)"new_AutoBufferedPaintDC", (PyCFunction) _wrap_new_AutoBufferedPaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"AutoBufferedPaintDC_swigregister", AutoBufferedPaintDC_swigregister, METH_VARARGS, NULL},
+        { (char *)"AutoBufferedPaintDC_swiginit", AutoBufferedPaintDC_swiginit, METH_VARARGS, NULL},
         { (char *)"AutoBufferedPaintDCFactory", (PyCFunction) _wrap_AutoBufferedPaintDCFactory, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_MirrorDC", (PyCFunction) _wrap_new_MirrorDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MirrorDC_swigregister", MirrorDC_swigregister, METH_VARARGS, NULL},
         { (char *)"AutoBufferedPaintDCFactory", (PyCFunction) _wrap_AutoBufferedPaintDCFactory, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_MirrorDC", (PyCFunction) _wrap_new_MirrorDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MirrorDC_swigregister", MirrorDC_swigregister, METH_VARARGS, NULL},
@@ -35232,12 +35277,12 @@ static void *_p_wxBrushTo_p_wxGDIObject(void *x) {
 static void *_p_wxGCDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxGCDC *) x));
 }
 static void *_p_wxGCDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxGCDC *) x));
 }
-static void *_p_wxBufferedDCTo_p_wxDC(void *x) {
-    return (void *)((wxDC *) (wxMemoryDC *) ((wxBufferedDC *) x));
-}
 static void *_p_wxScreenDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxScreenDC *) x));
 }
 static void *_p_wxScreenDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxScreenDC *) x));
 }
+static void *_p_wxBufferedDCTo_p_wxDC(void *x) {
+    return (void *)((wxDC *) (wxMemoryDC *) ((wxBufferedDC *) x));
+}
 static void *_p_wxMirrorDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMirrorDC *) x));
 }
 static void *_p_wxMirrorDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMirrorDC *) x));
 }
@@ -35250,15 +35295,18 @@ static void *_p_wxWindowDCTo_p_wxDC(void *x) {
 static void *_p_wxMetaFileDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMetaFileDC *) x));
 }
 static void *_p_wxMetaFileDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMetaFileDC *) x));
 }
-static void *_p_wxBufferedPaintDCTo_p_wxDC(void *x) {
-    return (void *)((wxDC *) (wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
-}
 static void *_p_wxClientDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *) ((wxClientDC *) x));
 }
 static void *_p_wxPaintDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
 }
 static void *_p_wxClientDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *) ((wxClientDC *) x));
 }
 static void *_p_wxPaintDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
 }
+static void *_p_wxBufferedPaintDCTo_p_wxDC(void *x) {
+    return (void *)((wxDC *) (wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
+}
+static void *_p_wxAutoBufferedPaintDCTo_p_wxDC(void *x) {
+    return (void *)((wxDC *)  ((wxAutoBufferedPaintDC *) x));
+}
 static void *_p_wxPostScriptDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxPostScriptDC *) x));
 }
 static void *_p_wxPostScriptDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxPostScriptDC *) x));
 }
@@ -35472,11 +35520,14 @@ static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
 static void *_p_wxMouseCaptureLostEventTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureLostEvent *) x));
 }
 static void *_p_wxMouseCaptureLostEventTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureLostEvent *) x));
 }
+static void *_p_wxPaintDCTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxDC *)(wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
+}
 static void *_p_wxBufferedPaintDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *)(wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
 }
 static void *_p_wxBufferedPaintDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *)(wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
 }
-static void *_p_wxPaintDCTo_p_wxObject(void *x) {
-    return (void *)((wxObject *) (wxDC *)(wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
+static void *_p_wxAutoBufferedPaintDCTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxDC *) ((wxAutoBufferedPaintDC *) x));
 }
 static void *_p_wxPrinterDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *) ((wxPrinterDC *) x));
 }
 static void *_p_wxPrinterDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *) ((wxPrinterDC *) x));
@@ -35626,6 +35677,7 @@ static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int
 static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *|wxUIntPtr *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData = {"_p_wxAlphaPixelData", "wxAlphaPixelData *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData_Accessor = {"_p_wxAlphaPixelData_Accessor", "wxAlphaPixelData_Accessor *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *|wxUIntPtr *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData = {"_p_wxAlphaPixelData", "wxAlphaPixelData *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData_Accessor = {"_p_wxAlphaPixelData_Accessor", "wxAlphaPixelData_Accessor *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_wxAutoBufferedPaintDC = {"_p_wxAutoBufferedPaintDC", "wxAutoBufferedPaintDC *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBitmap = {"_p_wxBitmap", "wxBitmap *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrush = {"_p_wxBrush", "wxBrush *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrushList = {"_p_wxBrushList", "wxBrushList *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBitmap = {"_p_wxBitmap", "wxBitmap *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrush = {"_p_wxBrush", "wxBrush *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrushList = {"_p_wxBrushList", "wxBrushList *", 0, 0, (void*)0, 0};
@@ -35708,7 +35760,6 @@ static swig_type_info _swigt__p_wxIconizeEvent = {"_p_wxIconizeEvent", 0, 0, 0,
 static swig_type_info _swigt__p_wxSizeEvent = {"_p_wxSizeEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxMoveEvent = {"_p_wxMoveEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxActivateEvent = {"_p_wxActivateEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxSizeEvent = {"_p_wxSizeEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxMoveEvent = {"_p_wxMoveEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxActivateEvent = {"_p_wxActivateEvent", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_wxCURHandler = {"_p_wxCURHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxICOHandler = {"_p_wxICOHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxBMPHandler = {"_p_wxBMPHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPyImageHandler = {"_p_wxPyImageHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxICOHandler = {"_p_wxICOHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxBMPHandler = {"_p_wxBMPHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPyImageHandler = {"_p_wxPyImageHandler", 0, 0, 0, 0, 0};
@@ -35716,6 +35767,7 @@ static swig_type_info _swigt__p_wxImageHandler = {"_p_wxImageHandler", 0, 0, 0,
 static swig_type_info _swigt__p_wxXPMHandler = {"_p_wxXPMHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxTIFFHandler = {"_p_wxTIFFHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxEvtHandler = {"_p_wxEvtHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxXPMHandler = {"_p_wxXPMHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxTIFFHandler = {"_p_wxTIFFHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxEvtHandler = {"_p_wxEvtHandler", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_wxCURHandler = {"_p_wxCURHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxANIHandler = {"_p_wxANIHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPNGHandler = {"_p_wxPNGHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxGIFHandler = {"_p_wxGIFHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxANIHandler = {"_p_wxANIHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPNGHandler = {"_p_wxPNGHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxGIFHandler = {"_p_wxGIFHandler", 0, 0, 0, 0, 0};
@@ -35787,6 +35839,7 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_wxActivateEvent,
   &_swigt__p_wxAlphaPixelData,
   &_swigt__p_wxAlphaPixelData_Accessor,
   &_swigt__p_wxActivateEvent,
   &_swigt__p_wxAlphaPixelData,
   &_swigt__p_wxAlphaPixelData_Accessor,
+  &_swigt__p_wxAutoBufferedPaintDC,
   &_swigt__p_wxBMPHandler,
   &_swigt__p_wxBitmap,
   &_swigt__p_wxBoxSizer,
   &_swigt__p_wxBMPHandler,
   &_swigt__p_wxBitmap,
   &_swigt__p_wxBoxSizer,
@@ -35942,6 +35995,7 @@ static swig_cast_info _swigc__p_unsigned_int[] = {  {&_swigt__p_unsigned_int, 0,
 static swig_cast_info _swigc__p_unsigned_long[] = {  {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData[] = {  {&_swigt__p_wxAlphaPixelData, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData_Accessor[] = {  {&_swigt__p_wxAlphaPixelData_Accessor, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_unsigned_long[] = {  {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData[] = {  {&_swigt__p_wxAlphaPixelData, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData_Accessor[] = {  {&_swigt__p_wxAlphaPixelData_Accessor, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxAutoBufferedPaintDC[] = {  {&_swigt__p_wxAutoBufferedPaintDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBitmap[] = {  {&_swigt__p_wxBitmap, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrush[] = {  {&_swigt__p_wxBrush, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrushList[] = {  {&_swigt__p_wxBrushList, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBitmap[] = {  {&_swigt__p_wxBitmap, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrush[] = {  {&_swigt__p_wxBrush, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrushList[] = {  {&_swigt__p_wxBrushList, 0, 0, 0},{0, 0, 0, 0}};
@@ -35953,7 +36007,7 @@ static swig_cast_info _swigc__p_wxColor[] = {  {&_swigt__p_wxColor, 0, 0, 0},{0,
 static swig_cast_info _swigc__p_wxColour[] = {  {&_swigt__p_wxColour, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxColourDatabase[] = {  {&_swigt__p_wxColourDatabase, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxCursor[] = {  {&_swigt__p_wxCursor, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxColour[] = {  {&_swigt__p_wxColour, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxColourDatabase[] = {  {&_swigt__p_wxColourDatabase, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxCursor[] = {  {&_swigt__p_wxCursor, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxDC[] = {  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxDC, 0, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxDC, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxDC[] = {  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxAutoBufferedPaintDC, _p_wxAutoBufferedPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxDC, 0, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxDC, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDCOverlay[] = {  {&_swigt__p_wxDCOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDash[] = {  {&_swigt__p_wxDash, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDuplexMode[] = {  {&_swigt__p_wxDuplexMode, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDCOverlay[] = {  {&_swigt__p_wxDCOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDash[] = {  {&_swigt__p_wxDash, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDuplexMode[] = {  {&_swigt__p_wxDuplexMode, 0, 0, 0},{0, 0, 0, 0}};
@@ -36023,7 +36077,6 @@ static swig_cast_info _swigc__p_wxIconizeEvent[] = {{&_swigt__p_wxIconizeEvent,
 static swig_cast_info _swigc__p_wxSizeEvent[] = {{&_swigt__p_wxSizeEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxMoveEvent[] = {{&_swigt__p_wxMoveEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxActivateEvent[] = {{&_swigt__p_wxActivateEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxSizeEvent[] = {{&_swigt__p_wxSizeEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxMoveEvent[] = {{&_swigt__p_wxMoveEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxActivateEvent[] = {{&_swigt__p_wxActivateEvent, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxCURHandler[] = {{&_swigt__p_wxCURHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxICOHandler[] = {{&_swigt__p_wxICOHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBMPHandler[] = {{&_swigt__p_wxBMPHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyImageHandler[] = {{&_swigt__p_wxPyImageHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxICOHandler[] = {{&_swigt__p_wxICOHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBMPHandler[] = {{&_swigt__p_wxBMPHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyImageHandler[] = {{&_swigt__p_wxPyImageHandler, 0, 0, 0},{0, 0, 0, 0}};
@@ -36031,6 +36084,7 @@ static swig_cast_info _swigc__p_wxImageHandler[] = {{&_swigt__p_wxImageHandler,
 static swig_cast_info _swigc__p_wxXPMHandler[] = {{&_swigt__p_wxXPMHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxTIFFHandler[] = {{&_swigt__p_wxTIFFHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxEvtHandler[] = {{&_swigt__p_wxEvtHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxXPMHandler[] = {{&_swigt__p_wxXPMHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxTIFFHandler[] = {{&_swigt__p_wxTIFFHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxEvtHandler[] = {{&_swigt__p_wxEvtHandler, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxCURHandler[] = {{&_swigt__p_wxCURHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxANIHandler[] = {{&_swigt__p_wxANIHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPNGHandler[] = {{&_swigt__p_wxPNGHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxGIFHandler[] = {{&_swigt__p_wxGIFHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxANIHandler[] = {{&_swigt__p_wxANIHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPNGHandler[] = {{&_swigt__p_wxPNGHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxGIFHandler[] = {{&_swigt__p_wxGIFHandler, 0, 0, 0},{0, 0, 0, 0}};
@@ -36060,7 +36114,7 @@ static swig_cast_info _swigc__p_wxChildFocusEvent[] = {{&_swigt__p_wxChildFocusE
 static swig_cast_info _swigc__p_wxControlWithItems[] = {{&_swigt__p_wxControlWithItems, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyValidator[] = {{&_swigt__p_wxPyValidator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxValidator[] = {{&_swigt__p_wxValidator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxControlWithItems[] = {{&_swigt__p_wxControlWithItems, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyValidator[] = {{&_swigt__p_wxPyValidator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxValidator[] = {{&_swigt__p_wxValidator, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxObject[] = {  {&_swigt__p_wxLayoutConstraints, _p_wxLayoutConstraintsTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegionIterator, _p_wxRegionIteratorTo_p_wxObject, 0, 0},  {&_swigt__p_wxPen, _p_wxPenTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizerItem, _p_wxSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxGBSizerItem, _p_wxGBSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollEvent, _p_wxScrollEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIndividualLayoutConstraint, _p_wxIndividualLayoutConstraintTo_p_wxObject, 0, 0},  {&_swigt__p_wxStaticBoxSizer, _p_wxStaticBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBoxSizer, _p_wxBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizer, _p_wxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridBagSizer, _p_wxGridBagSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxUpdateUIEvent, _p_wxUpdateUIEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenu, _p_wxMenuTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvent, _p_wxEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFlexGridSizer, _p_wxFlexGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridSizer, _p_wxGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxInitDialogEvent, _p_wxInitDialogEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMask, _p_wxMaskTo_p_wxObject, 0, 0},  {&_swigt__p_wxPseudoDC, _p_wxPseudoDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxClipboardTextEvent, _p_wxClipboardTextEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintEvent, _p_wxPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNcPaintEvent, _p_wxNcPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaletteChangedEvent, _p_wxPaletteChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDisplayChangedEvent, _p_wxDisplayChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureChangedEvent, _p_wxMouseCaptureChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSysColourChangedEvent, _p_wxSysColourChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxControl, _p_wxControlTo_p_wxObject, 0, 0},  {&_swigt__p_wxFont, _p_wxFontTo_p_wxObject, 0, 0},  {&_swigt__p_wxSetCursorEvent, _p_wxSetCursorEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxFSFile, _p_wxFSFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegion, _p_wxRegionTo_p_wxObject, 0, 0},  {&_swigt__p_wxPySizer, _p_wxPySizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxDC, _p_wxDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxIcon, _p_wxIconTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGDIObject, _p_wxGDIObjectTo_p_wxObject, 0, 0},  {&_swigt__p_wxEffects, _p_wxEffectsTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyEvent, _p_wxPyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNotifyEvent, _p_wxNotifyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxShowEvent, _p_wxShowEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuItem, _p_wxMenuItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxDateEvent, _p_wxDateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIdleEvent, _p_wxIdleEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowCreateEvent, _p_wxWindowCreateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxQueryNewPaletteEvent, _p_wxQueryNewPaletteEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMaximizeEvent, _p_wxMaximizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIconizeEvent, _p_wxIconizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizeEvent, _p_wxSizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMoveEvent, _p_wxMoveEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxActivateEvent, _p_wxActivateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxCURHandler, _p_wxCURHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxICOHandler, _p_wxICOHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBMPHandler, _p_wxBMPHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyImageHandler, _p_wxPyImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageHandler, _p_wxImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxXPMHandler, _p_wxXPMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxTIFFHandler, _p_wxTIFFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvtHandler, _p_wxEvtHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxANIHandler, _p_wxANIHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNGHandler, _p_wxPNGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGIFHandler, _p_wxGIFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPCXHandler, _p_wxPCXHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxJPEGHandler, _p_wxJPEGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNMHandler, _p_wxPNMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureLostEvent, _p_wxMouseCaptureLostEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxStdDialogButtonSizer, _p_wxStdDialogButtonSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxAcceleratorTable, _p_wxAcceleratorTableTo_p_wxObject, 0, 0},  {&_swigt__p_wxImage, _p_wxImageTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollWinEvent, _p_wxScrollWinEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPalette, _p_wxPaletteTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageList, _p_wxImageListTo_p_wxObject, 0, 0},  {&_swigt__p_wxCursor, _p_wxCursorTo_p_wxObject, 0, 0},  {&_swigt__p_wxObject, 0, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxEncodingConverter, _p_wxEncodingConverterTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDestroyEvent, _p_wxWindowDestroyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNavigationKeyEvent, _p_wxNavigationKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxKeyEvent, _p_wxKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindow, _p_wxWindowTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuBar, _p_wxMenuBarTo_p_wxObject, 0, 0},  {&_swigt__p_wxFileSystem, _p_wxFileSystemTo_p_wxObject, 0, 0},  {&_swigt__p_wxBitmap, _p_wxBitmapTo_p_wxObject, 0, 0},  {&_swigt__p_wxContextMenuEvent, _p_wxContextMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuEvent, _p_wxMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyApp, _p_wxPyAppTo_p_wxObject, 0, 0},  {&_swigt__p_wxCloseEvent, _p_wxCloseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseEvent, _p_wxMouseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxEraseEvent, _p_wxEraseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyCommandEvent, _p_wxPyCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxCommandEvent, _p_wxCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDropFilesEvent, _p_wxDropFilesEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFocusEvent, _p_wxFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxChildFocusEvent, _p_wxChildFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBrush, _p_wxBrushTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFile, _p_wxMetaFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxControlWithItems, _p_wxControlWithItemsTo_p_wxObject, 0, 0},  {&_swigt__p_wxColour, _p_wxColourTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyValidator, _p_wxPyValidatorTo_p_wxObject, 0, 0},  {&_swigt__p_wxValidator, _p_wxValidatorTo_p_wxObject, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxObject[] = {  {&_swigt__p_wxLayoutConstraints, _p_wxLayoutConstraintsTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegionIterator, _p_wxRegionIteratorTo_p_wxObject, 0, 0},  {&_swigt__p_wxPen, _p_wxPenTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizerItem, _p_wxSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxGBSizerItem, _p_wxGBSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollEvent, _p_wxScrollEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIndividualLayoutConstraint, _p_wxIndividualLayoutConstraintTo_p_wxObject, 0, 0},  {&_swigt__p_wxStaticBoxSizer, _p_wxStaticBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBoxSizer, _p_wxBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizer, _p_wxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridBagSizer, _p_wxGridBagSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxUpdateUIEvent, _p_wxUpdateUIEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenu, _p_wxMenuTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvent, _p_wxEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFlexGridSizer, _p_wxFlexGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridSizer, _p_wxGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxInitDialogEvent, _p_wxInitDialogEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMask, _p_wxMaskTo_p_wxObject, 0, 0},  {&_swigt__p_wxPseudoDC, _p_wxPseudoDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxClipboardTextEvent, _p_wxClipboardTextEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintEvent, _p_wxPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNcPaintEvent, _p_wxNcPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaletteChangedEvent, _p_wxPaletteChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDisplayChangedEvent, _p_wxDisplayChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureChangedEvent, _p_wxMouseCaptureChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSysColourChangedEvent, _p_wxSysColourChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxControl, _p_wxControlTo_p_wxObject, 0, 0},  {&_swigt__p_wxFont, _p_wxFontTo_p_wxObject, 0, 0},  {&_swigt__p_wxSetCursorEvent, _p_wxSetCursorEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxFSFile, _p_wxFSFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegion, _p_wxRegionTo_p_wxObject, 0, 0},  {&_swigt__p_wxPySizer, _p_wxPySizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxDC, _p_wxDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxIcon, _p_wxIconTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGDIObject, _p_wxGDIObjectTo_p_wxObject, 0, 0},  {&_swigt__p_wxEffects, _p_wxEffectsTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyEvent, _p_wxPyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNotifyEvent, _p_wxNotifyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxShowEvent, _p_wxShowEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuItem, _p_wxMenuItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxDateEvent, _p_wxDateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIdleEvent, _p_wxIdleEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowCreateEvent, _p_wxWindowCreateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxQueryNewPaletteEvent, _p_wxQueryNewPaletteEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMaximizeEvent, _p_wxMaximizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIconizeEvent, _p_wxIconizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizeEvent, _p_wxSizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMoveEvent, _p_wxMoveEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxActivateEvent, _p_wxActivateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxICOHandler, _p_wxICOHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBMPHandler, _p_wxBMPHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyImageHandler, _p_wxPyImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageHandler, _p_wxImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxXPMHandler, _p_wxXPMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxTIFFHandler, _p_wxTIFFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvtHandler, _p_wxEvtHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxCURHandler, _p_wxCURHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxANIHandler, _p_wxANIHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNGHandler, _p_wxPNGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGIFHandler, _p_wxGIFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPCXHandler, _p_wxPCXHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxJPEGHandler, _p_wxJPEGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNMHandler, _p_wxPNMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureLostEvent, _p_wxMouseCaptureLostEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxAutoBufferedPaintDC, _p_wxAutoBufferedPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxStdDialogButtonSizer, _p_wxStdDialogButtonSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxAcceleratorTable, _p_wxAcceleratorTableTo_p_wxObject, 0, 0},  {&_swigt__p_wxImage, _p_wxImageTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollWinEvent, _p_wxScrollWinEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPalette, _p_wxPaletteTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageList, _p_wxImageListTo_p_wxObject, 0, 0},  {&_swigt__p_wxCursor, _p_wxCursorTo_p_wxObject, 0, 0},  {&_swigt__p_wxObject, 0, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxEncodingConverter, _p_wxEncodingConverterTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDestroyEvent, _p_wxWindowDestroyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNavigationKeyEvent, _p_wxNavigationKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxKeyEvent, _p_wxKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindow, _p_wxWindowTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuBar, _p_wxMenuBarTo_p_wxObject, 0, 0},  {&_swigt__p_wxFileSystem, _p_wxFileSystemTo_p_wxObject, 0, 0},  {&_swigt__p_wxBitmap, _p_wxBitmapTo_p_wxObject, 0, 0},  {&_swigt__p_wxContextMenuEvent, _p_wxContextMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuEvent, _p_wxMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyApp, _p_wxPyAppTo_p_wxObject, 0, 0},  {&_swigt__p_wxCloseEvent, _p_wxCloseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseEvent, _p_wxMouseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxEraseEvent, _p_wxEraseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyCommandEvent, _p_wxPyCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxCommandEvent, _p_wxCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDropFilesEvent, _p_wxDropFilesEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFocusEvent, _p_wxFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxChildFocusEvent, _p_wxChildFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBrush, _p_wxBrushTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFile, _p_wxMetaFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxControlWithItems, _p_wxControlWithItemsTo_p_wxObject, 0, 0},  {&_swigt__p_wxColour, _p_wxColourTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyValidator, _p_wxPyValidatorTo_p_wxObject, 0, 0},  {&_swigt__p_wxValidator, _p_wxValidatorTo_p_wxObject, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxOverlay[] = {  {&_swigt__p_wxOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPaintDC[] = {  {&_swigt__p_wxPaintDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPalette[] = {  {&_swigt__p_wxPalette, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxOverlay[] = {  {&_swigt__p_wxOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPaintDC[] = {  {&_swigt__p_wxPaintDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPalette[] = {  {&_swigt__p_wxPalette, 0, 0, 0},{0, 0, 0, 0}};
@@ -36103,6 +36157,7 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_wxActivateEvent,
   _swigc__p_wxAlphaPixelData,
   _swigc__p_wxAlphaPixelData_Accessor,
   _swigc__p_wxActivateEvent,
   _swigc__p_wxAlphaPixelData,
   _swigc__p_wxAlphaPixelData_Accessor,
+  _swigc__p_wxAutoBufferedPaintDC,
   _swigc__p_wxBMPHandler,
   _swigc__p_wxBitmap,
   _swigc__p_wxBoxSizer,
   _swigc__p_wxBMPHandler,
   _swigc__p_wxBitmap,
   _swigc__p_wxBoxSizer,
index 55eaa292c3fa1eada5957f20de80d6ab058965cb..dcc269f9a9f9ce61cdc1d7f330666e6b3ed8151a 100644 (file)
@@ -6631,8 +6631,8 @@ def AboutBox(*args, **kwargs):
     This function shows the standard about dialog containing the
     information specified in ``info``. If the current platform has a
     native about dialog which is capable of showing all the fields in
     This function shows the standard about dialog containing the
     information specified in ``info``. If the current platform has a
     native about dialog which is capable of showing all the fields in
-    ``info``, the native dialog is used, otherwise the function falls back
-    to the generic wxWidgets version of the dialog.
+    `wx.AboutDialogInfo`, the native dialog is used, otherwise the
+    function falls back to the generic wxWidgets version of the dialog.
     """
   return _misc_.AboutBox(*args, **kwargs)
 
     """
   return _misc_.AboutBox(*args, **kwargs)
 
index 97c169cf0b165efa02b0ed7b4325c893e69dfd8f..448ab56435e720ab961ec9ce81195bd39632ac49 100644 (file)
@@ -4535,88 +4535,6 @@ def MemoryDCFromDC(*args, **kwargs):
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-BUFFER_VIRTUAL_AREA = _gdi_.BUFFER_VIRTUAL_AREA
-BUFFER_CLIENT_AREA = _gdi_.BUFFER_CLIENT_AREA
-class BufferedDC(MemoryDC):
-    """
-    This simple class provides a simple way to avoid flicker: when drawing
-    on it, everything is in fact first drawn on an in-memory buffer (a
-    `wx.Bitmap`) and then copied to the screen only once, when this object
-    is destroyed.
-
-    It can be used in the same way as any other device context.
-    wx.BufferedDC itself typically replaces `wx.ClientDC`, if you want to
-    use it in your EVT_PAINT handler, you should look at
-    `wx.BufferedPaintDC`.
-
-    Please note that GTK+ 2.0 and OS X provide double buffering themselves
-    natively. wxBufferedDC is aware of this however, and will bypass the buffering
-    unless an explicit buffer bitmap is given.
-
-    """
-    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.
-        """
-        _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
-
-    __swig_destroy__ = _gdi_.delete_BufferedDC
-    __del__ = lambda self : None;
-    def UnMask(*args, **kwargs):
-        """
-        UnMask(self)
-
-        Blits the buffer to the dc, and detaches the dc from the buffer (so it
-        can be effectively used once only).  This is usually only called in
-        the destructor.
-        """
-        return _gdi_.BufferedDC_UnMask(*args, **kwargs)
-
-_gdi_.BufferedDC_swigregister(BufferedDC)
-
-class BufferedPaintDC(BufferedDC):
-    """
-    This is a subclass of `wx.BufferedDC` which can be used inside of an
-    EVT_PAINT event handler. Just create an object of this class instead
-    of `wx.PaintDC` and that's all you have to do to (mostly) avoid
-    flicker. The only thing to watch out for is that if you are using this
-    class together with `wx.ScrolledWindow`, you probably do **not** want
-    to call `wx.Window.PrepareDC` on it as it already does this internally
-    for the real underlying `wx.PaintDC`.
-
-    If your window is already fully buffered in a `wx.Bitmap` then your
-    EVT_PAINT handler can be as simple as just creating a
-    ``wx.BufferedPaintDC`` as it will `Blit` the buffer to the window
-    automatically when it is destroyed.  For example::
-
-        def OnPaint(self, event):
-            dc = wx.BufferedPaintDC(self, self.buffer)
-
-
-
-    """
-    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
-
-        Create a buffered paint DC.  As with `wx.BufferedDC`, you may either
-        provide the bitmap to be used for buffering or let this object create
-        one internally (in the latter case, the size of the client part of the
-        window is automatically used).
-        """
-        _gdi_.BufferedPaintDC_swiginit(self,_gdi_.new_BufferedPaintDC(*args, **kwargs))
-_gdi_.BufferedPaintDC_swigregister(BufferedPaintDC)
-
-#---------------------------------------------------------------------------
-
 class ScreenDC(DC):
     """
     A wxScreenDC can be used to paint anywhere on the screen. This should
 class ScreenDC(DC):
     """
     A wxScreenDC can be used to paint anywhere on the screen. This should
@@ -4758,20 +4676,110 @@ _gdi_.PaintDC_swigregister(PaintDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-if 'wxMac' in wx.PlatformInfo or 'gtk2' in wx.PlatformInfo:
-    _AutoBufferedPaintDCBase = PaintDC
-else:
-    _AutoBufferedPaintDCBase = BufferedPaintDC
-        
-class AutoBufferedPaintDC(_AutoBufferedPaintDCBase):
+BUFFER_VIRTUAL_AREA = _gdi_.BUFFER_VIRTUAL_AREA
+BUFFER_CLIENT_AREA = _gdi_.BUFFER_CLIENT_AREA
+class BufferedDC(MemoryDC):
+    """
+    This simple class provides a simple way to avoid flicker: when drawing
+    on it, everything is in fact first drawn on an in-memory buffer (a
+    `wx.Bitmap`) and then copied to the screen only once, when this object
+    is destroyed.
+
+    It can be used in the same way as any other device context.
+    wx.BufferedDC itself typically replaces `wx.ClientDC`, if you want to
+    use it in your EVT_PAINT handler, you should look at
+    `wx.BufferedPaintDC`.
+
+    Please note that GTK+ 2.0 and OS X provide double buffering themselves
+    natively. wxBufferedDC is aware of this however, and will bypass the buffering
+    unless an explicit buffer bitmap is given.
+
+    """
+    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.
+        """
+        _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
+
+    __swig_destroy__ = _gdi_.delete_BufferedDC
+    __del__ = lambda self : None;
+    def UnMask(*args, **kwargs):
+        """
+        UnMask(self)
+
+        Blits the buffer to the dc, and detaches the dc from the buffer (so it
+        can be effectively used once only).  This is usually only called in
+        the destructor.
+        """
+        return _gdi_.BufferedDC_UnMask(*args, **kwargs)
+
+_gdi_.BufferedDC_swigregister(BufferedDC)
+
+class BufferedPaintDC(BufferedDC):
+    """
+    This is a subclass of `wx.BufferedDC` which can be used inside of an
+    EVT_PAINT event handler. Just create an object of this class instead
+    of `wx.PaintDC` and that's all you have to do to (mostly) avoid
+    flicker. The only thing to watch out for is that if you are using this
+    class together with `wx.ScrolledWindow`, you probably do **not** want
+    to call `wx.Window.PrepareDC` on it as it already does this internally
+    for the real underlying `wx.PaintDC`.
+
+    If your window is already fully buffered in a `wx.Bitmap` then your
+    EVT_PAINT handler can be as simple as just creating a
+    ``wx.BufferedPaintDC`` as it will `Blit` the buffer to the window
+    automatically when it is destroyed.  For example::
+
+        def OnPaint(self, event):
+            dc = wx.BufferedPaintDC(self, self.buffer)
+
+
+
+    """
+    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
+
+        Create a buffered paint DC.  As with `wx.BufferedDC`, you may either
+        provide the bitmap to be used for buffering or let this object create
+        one internally (in the latter case, the size of the client part of the
+        window is automatically used).
+        """
+        _gdi_.BufferedPaintDC_swiginit(self,_gdi_.new_BufferedPaintDC(*args, **kwargs))
+_gdi_.BufferedPaintDC_swigregister(BufferedPaintDC)
+
+#---------------------------------------------------------------------------
+
+class AutoBufferedPaintDC(DC):
     """
     If the current platform double buffers by default then this DC is the
     same as a plain `wx.PaintDC`, otherwise it is a `wx.BufferedPaintDC`.
 
     :see: `wx.AutoBufferedPaintDCFactory`
     """
     If the current platform double buffers by default then this DC is the
     same as a plain `wx.PaintDC`, otherwise it is a `wx.BufferedPaintDC`.
 
     :see: `wx.AutoBufferedPaintDCFactory`
+
     """
     """
-    def __init__(self, window):
-        _AutoBufferedPaintDCBase.__init__(self, window)
+    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) -> AutoBufferedPaintDC
+
+        If the current platform double buffers by default then this DC is the
+        same as a plain `wx.PaintDC`, otherwise it is a `wx.BufferedPaintDC`.
+
+        :see: `wx.AutoBufferedPaintDCFactory`
+
+        """
+        _gdi_.AutoBufferedPaintDC_swiginit(self,_gdi_.new_AutoBufferedPaintDC(*args, **kwargs))
+_gdi_.AutoBufferedPaintDC_swigregister(AutoBufferedPaintDC)
 
 
 def AutoBufferedPaintDCFactory(*args, **kwargs):
 
 
 def AutoBufferedPaintDCFactory(*args, **kwargs):
@@ -4779,10 +4787,10 @@ def AutoBufferedPaintDCFactory(*args, **kwargs):
     AutoBufferedPaintDCFactory(Window window) -> DC
 
     Checks if the window is natively double buffered and will return a
     AutoBufferedPaintDCFactory(Window window) -> DC
 
     Checks if the window is natively double buffered and will return a
-    `wx.PaintDC` if it is, a `wx.BufferedPaintDC` otherwise.  The
-    advantage of this function over `wx.AutoBufferedPaintDC` is that this
-    function will check if the the specified window supports has
-    double-buffering enabled rather than just going by platform defaults.
+    `wx.PaintDC` if it is, a `wx.BufferedPaintDC` otherwise.  The advantage of
+    this function over `wx.AutoBufferedPaintDC` is that this function will check
+    if the the specified window has double-buffering enabled rather than just
+    going by platform defaults.
     """
   return _gdi_.AutoBufferedPaintDCFactory(*args, **kwargs)
 #---------------------------------------------------------------------------
     """
   return _gdi_.AutoBufferedPaintDCFactory(*args, **kwargs)
 #---------------------------------------------------------------------------
index cd1650a0c98b76c2d70e4aecaaa2453770548784..215cf03e8fac16a15d584622b8bbddf8323bc5e8 100644 (file)
@@ -2476,151 +2476,152 @@ SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags)
 #define SWIGTYPE_p_wxActivateEvent swig_types[10]
 #define SWIGTYPE_p_wxAlphaPixelData swig_types[11]
 #define SWIGTYPE_p_wxAlphaPixelData_Accessor swig_types[12]
 #define SWIGTYPE_p_wxActivateEvent swig_types[10]
 #define SWIGTYPE_p_wxAlphaPixelData swig_types[11]
 #define SWIGTYPE_p_wxAlphaPixelData_Accessor swig_types[12]
-#define SWIGTYPE_p_wxBMPHandler swig_types[13]
-#define SWIGTYPE_p_wxBitmap swig_types[14]
-#define SWIGTYPE_p_wxBoxSizer swig_types[15]
-#define SWIGTYPE_p_wxBrush swig_types[16]
-#define SWIGTYPE_p_wxBrushList swig_types[17]
-#define SWIGTYPE_p_wxBufferedDC swig_types[18]
-#define SWIGTYPE_p_wxBufferedPaintDC swig_types[19]
-#define SWIGTYPE_p_wxCURHandler swig_types[20]
-#define SWIGTYPE_p_wxChar swig_types[21]
-#define SWIGTYPE_p_wxChildFocusEvent swig_types[22]
-#define SWIGTYPE_p_wxClientDC swig_types[23]
-#define SWIGTYPE_p_wxClipboardTextEvent swig_types[24]
-#define SWIGTYPE_p_wxCloseEvent swig_types[25]
-#define SWIGTYPE_p_wxColor swig_types[26]
-#define SWIGTYPE_p_wxColour swig_types[27]
-#define SWIGTYPE_p_wxColourDatabase swig_types[28]
-#define SWIGTYPE_p_wxCommandEvent swig_types[29]
-#define SWIGTYPE_p_wxContextMenuEvent swig_types[30]
-#define SWIGTYPE_p_wxControl swig_types[31]
-#define SWIGTYPE_p_wxControlWithItems swig_types[32]
-#define SWIGTYPE_p_wxCursor swig_types[33]
-#define SWIGTYPE_p_wxDC swig_types[34]
-#define SWIGTYPE_p_wxDCOverlay swig_types[35]
-#define SWIGTYPE_p_wxDash swig_types[36]
-#define SWIGTYPE_p_wxDateEvent swig_types[37]
-#define SWIGTYPE_p_wxDisplayChangedEvent swig_types[38]
-#define SWIGTYPE_p_wxDropFilesEvent swig_types[39]
-#define SWIGTYPE_p_wxDuplexMode swig_types[40]
-#define SWIGTYPE_p_wxEffects swig_types[41]
-#define SWIGTYPE_p_wxEncodingConverter swig_types[42]
-#define SWIGTYPE_p_wxEraseEvent swig_types[43]
-#define SWIGTYPE_p_wxEvent swig_types[44]
-#define SWIGTYPE_p_wxEvtHandler swig_types[45]
-#define SWIGTYPE_p_wxFSFile swig_types[46]
-#define SWIGTYPE_p_wxFileSystem swig_types[47]
-#define SWIGTYPE_p_wxFlexGridSizer swig_types[48]
-#define SWIGTYPE_p_wxFocusEvent swig_types[49]
-#define SWIGTYPE_p_wxFont swig_types[50]
-#define SWIGTYPE_p_wxFontList swig_types[51]
-#define SWIGTYPE_p_wxFontMapper swig_types[52]
-#define SWIGTYPE_p_wxGBSizerItem swig_types[53]
-#define SWIGTYPE_p_wxGCDC swig_types[54]
-#define SWIGTYPE_p_wxGDIObjListBase swig_types[55]
-#define SWIGTYPE_p_wxGDIObject swig_types[56]
-#define SWIGTYPE_p_wxGIFHandler swig_types[57]
-#define SWIGTYPE_p_wxGraphicsContext swig_types[58]
-#define SWIGTYPE_p_wxGraphicsPath swig_types[59]
-#define SWIGTYPE_p_wxGridBagSizer swig_types[60]
-#define SWIGTYPE_p_wxGridSizer swig_types[61]
-#define SWIGTYPE_p_wxHeaderButtonParams swig_types[62]
-#define SWIGTYPE_p_wxICOHandler swig_types[63]
-#define SWIGTYPE_p_wxIcon swig_types[64]
-#define SWIGTYPE_p_wxIconBundle swig_types[65]
-#define SWIGTYPE_p_wxIconLocation swig_types[66]
-#define SWIGTYPE_p_wxIconizeEvent swig_types[67]
-#define SWIGTYPE_p_wxIdleEvent swig_types[68]
-#define SWIGTYPE_p_wxImage swig_types[69]
-#define SWIGTYPE_p_wxImageHandler swig_types[70]
-#define SWIGTYPE_p_wxImageList swig_types[71]
-#define SWIGTYPE_p_wxIndividualLayoutConstraint swig_types[72]
-#define SWIGTYPE_p_wxInitDialogEvent swig_types[73]
-#define SWIGTYPE_p_wxJPEGHandler swig_types[74]
-#define SWIGTYPE_p_wxKeyEvent swig_types[75]
-#define SWIGTYPE_p_wxLanguageInfo swig_types[76]
-#define SWIGTYPE_p_wxLayoutConstraints swig_types[77]
-#define SWIGTYPE_p_wxLocale swig_types[78]
-#define SWIGTYPE_p_wxMask swig_types[79]
-#define SWIGTYPE_p_wxMaximizeEvent swig_types[80]
-#define SWIGTYPE_p_wxMemoryDC swig_types[81]
-#define SWIGTYPE_p_wxMenu swig_types[82]
-#define SWIGTYPE_p_wxMenuBar swig_types[83]
-#define SWIGTYPE_p_wxMenuEvent swig_types[84]
-#define SWIGTYPE_p_wxMenuItem swig_types[85]
-#define SWIGTYPE_p_wxMetaFile swig_types[86]
-#define SWIGTYPE_p_wxMetaFileDC swig_types[87]
-#define SWIGTYPE_p_wxMirrorDC swig_types[88]
-#define SWIGTYPE_p_wxMouseCaptureChangedEvent swig_types[89]
-#define SWIGTYPE_p_wxMouseCaptureLostEvent swig_types[90]
-#define SWIGTYPE_p_wxMouseEvent swig_types[91]
-#define SWIGTYPE_p_wxMoveEvent swig_types[92]
-#define SWIGTYPE_p_wxNativeEncodingInfo swig_types[93]
-#define SWIGTYPE_p_wxNativeFontInfo swig_types[94]
-#define SWIGTYPE_p_wxNativePixelData swig_types[95]
-#define SWIGTYPE_p_wxNativePixelData_Accessor swig_types[96]
-#define SWIGTYPE_p_wxNavigationKeyEvent swig_types[97]
-#define SWIGTYPE_p_wxNcPaintEvent swig_types[98]
-#define SWIGTYPE_p_wxNotifyEvent swig_types[99]
-#define SWIGTYPE_p_wxObject swig_types[100]
-#define SWIGTYPE_p_wxOverlay swig_types[101]
-#define SWIGTYPE_p_wxPCXHandler swig_types[102]
-#define SWIGTYPE_p_wxPNGHandler swig_types[103]
-#define SWIGTYPE_p_wxPNMHandler swig_types[104]
-#define SWIGTYPE_p_wxPaintDC swig_types[105]
-#define SWIGTYPE_p_wxPaintEvent swig_types[106]
-#define SWIGTYPE_p_wxPalette swig_types[107]
-#define SWIGTYPE_p_wxPaletteChangedEvent swig_types[108]
-#define SWIGTYPE_p_wxPaperSize swig_types[109]
-#define SWIGTYPE_p_wxPen swig_types[110]
-#define SWIGTYPE_p_wxPenList swig_types[111]
-#define SWIGTYPE_p_wxPixelDataBase swig_types[112]
-#define SWIGTYPE_p_wxPoint swig_types[113]
-#define SWIGTYPE_p_wxPoint2D swig_types[114]
-#define SWIGTYPE_p_wxPostScriptDC swig_types[115]
-#define SWIGTYPE_p_wxPrintData swig_types[116]
-#define SWIGTYPE_p_wxPrinterDC swig_types[117]
-#define SWIGTYPE_p_wxPseudoDC swig_types[118]
-#define SWIGTYPE_p_wxPyApp swig_types[119]
-#define SWIGTYPE_p_wxPyCommandEvent swig_types[120]
-#define SWIGTYPE_p_wxPyEvent swig_types[121]
-#define SWIGTYPE_p_wxPyFontEnumerator swig_types[122]
-#define SWIGTYPE_p_wxPyImageHandler swig_types[123]
-#define SWIGTYPE_p_wxPyLocale swig_types[124]
-#define SWIGTYPE_p_wxPySizer swig_types[125]
-#define SWIGTYPE_p_wxPyValidator swig_types[126]
-#define SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[127]
-#define SWIGTYPE_p_wxRect swig_types[128]
-#define SWIGTYPE_p_wxRegion swig_types[129]
-#define SWIGTYPE_p_wxRegionIterator swig_types[130]
-#define SWIGTYPE_p_wxRendererNative swig_types[131]
-#define SWIGTYPE_p_wxRendererVersion swig_types[132]
-#define SWIGTYPE_p_wxScreenDC swig_types[133]
-#define SWIGTYPE_p_wxScrollEvent swig_types[134]
-#define SWIGTYPE_p_wxScrollWinEvent swig_types[135]
-#define SWIGTYPE_p_wxSetCursorEvent swig_types[136]
-#define SWIGTYPE_p_wxShowEvent swig_types[137]
-#define SWIGTYPE_p_wxSize swig_types[138]
-#define SWIGTYPE_p_wxSizeEvent swig_types[139]
-#define SWIGTYPE_p_wxSizer swig_types[140]
-#define SWIGTYPE_p_wxSizerItem swig_types[141]
-#define SWIGTYPE_p_wxSplitterRenderParams swig_types[142]
-#define SWIGTYPE_p_wxStaticBoxSizer swig_types[143]
-#define SWIGTYPE_p_wxStdDialogButtonSizer swig_types[144]
-#define SWIGTYPE_p_wxStockGDI swig_types[145]
-#define SWIGTYPE_p_wxString swig_types[146]
-#define SWIGTYPE_p_wxSysColourChangedEvent swig_types[147]
-#define SWIGTYPE_p_wxTIFFHandler swig_types[148]
-#define SWIGTYPE_p_wxUpdateUIEvent swig_types[149]
-#define SWIGTYPE_p_wxValidator swig_types[150]
-#define SWIGTYPE_p_wxWindow swig_types[151]
-#define SWIGTYPE_p_wxWindowCreateEvent swig_types[152]
-#define SWIGTYPE_p_wxWindowDC swig_types[153]
-#define SWIGTYPE_p_wxWindowDestroyEvent swig_types[154]
-#define SWIGTYPE_p_wxXPMHandler swig_types[155]
-static swig_type_info *swig_types[157];
-static swig_module_info swig_module = {swig_types, 156, 0, 0, 0, 0};
+#define SWIGTYPE_p_wxAutoBufferedPaintDC swig_types[13]
+#define SWIGTYPE_p_wxBMPHandler swig_types[14]
+#define SWIGTYPE_p_wxBitmap swig_types[15]
+#define SWIGTYPE_p_wxBoxSizer swig_types[16]
+#define SWIGTYPE_p_wxBrush swig_types[17]
+#define SWIGTYPE_p_wxBrushList swig_types[18]
+#define SWIGTYPE_p_wxBufferedDC swig_types[19]
+#define SWIGTYPE_p_wxBufferedPaintDC swig_types[20]
+#define SWIGTYPE_p_wxCURHandler swig_types[21]
+#define SWIGTYPE_p_wxChar swig_types[22]
+#define SWIGTYPE_p_wxChildFocusEvent swig_types[23]
+#define SWIGTYPE_p_wxClientDC swig_types[24]
+#define SWIGTYPE_p_wxClipboardTextEvent swig_types[25]
+#define SWIGTYPE_p_wxCloseEvent swig_types[26]
+#define SWIGTYPE_p_wxColor swig_types[27]
+#define SWIGTYPE_p_wxColour swig_types[28]
+#define SWIGTYPE_p_wxColourDatabase swig_types[29]
+#define SWIGTYPE_p_wxCommandEvent swig_types[30]
+#define SWIGTYPE_p_wxContextMenuEvent swig_types[31]
+#define SWIGTYPE_p_wxControl swig_types[32]
+#define SWIGTYPE_p_wxControlWithItems swig_types[33]
+#define SWIGTYPE_p_wxCursor swig_types[34]
+#define SWIGTYPE_p_wxDC swig_types[35]
+#define SWIGTYPE_p_wxDCOverlay swig_types[36]
+#define SWIGTYPE_p_wxDash swig_types[37]
+#define SWIGTYPE_p_wxDateEvent swig_types[38]
+#define SWIGTYPE_p_wxDisplayChangedEvent swig_types[39]
+#define SWIGTYPE_p_wxDropFilesEvent swig_types[40]
+#define SWIGTYPE_p_wxDuplexMode swig_types[41]
+#define SWIGTYPE_p_wxEffects swig_types[42]
+#define SWIGTYPE_p_wxEncodingConverter swig_types[43]
+#define SWIGTYPE_p_wxEraseEvent swig_types[44]
+#define SWIGTYPE_p_wxEvent swig_types[45]
+#define SWIGTYPE_p_wxEvtHandler swig_types[46]
+#define SWIGTYPE_p_wxFSFile swig_types[47]
+#define SWIGTYPE_p_wxFileSystem swig_types[48]
+#define SWIGTYPE_p_wxFlexGridSizer swig_types[49]
+#define SWIGTYPE_p_wxFocusEvent swig_types[50]
+#define SWIGTYPE_p_wxFont swig_types[51]
+#define SWIGTYPE_p_wxFontList swig_types[52]
+#define SWIGTYPE_p_wxFontMapper swig_types[53]
+#define SWIGTYPE_p_wxGBSizerItem swig_types[54]
+#define SWIGTYPE_p_wxGCDC swig_types[55]
+#define SWIGTYPE_p_wxGDIObjListBase swig_types[56]
+#define SWIGTYPE_p_wxGDIObject swig_types[57]
+#define SWIGTYPE_p_wxGIFHandler swig_types[58]
+#define SWIGTYPE_p_wxGraphicsContext swig_types[59]
+#define SWIGTYPE_p_wxGraphicsPath swig_types[60]
+#define SWIGTYPE_p_wxGridBagSizer swig_types[61]
+#define SWIGTYPE_p_wxGridSizer swig_types[62]
+#define SWIGTYPE_p_wxHeaderButtonParams swig_types[63]
+#define SWIGTYPE_p_wxICOHandler swig_types[64]
+#define SWIGTYPE_p_wxIcon swig_types[65]
+#define SWIGTYPE_p_wxIconBundle swig_types[66]
+#define SWIGTYPE_p_wxIconLocation swig_types[67]
+#define SWIGTYPE_p_wxIconizeEvent swig_types[68]
+#define SWIGTYPE_p_wxIdleEvent swig_types[69]
+#define SWIGTYPE_p_wxImage swig_types[70]
+#define SWIGTYPE_p_wxImageHandler swig_types[71]
+#define SWIGTYPE_p_wxImageList swig_types[72]
+#define SWIGTYPE_p_wxIndividualLayoutConstraint swig_types[73]
+#define SWIGTYPE_p_wxInitDialogEvent swig_types[74]
+#define SWIGTYPE_p_wxJPEGHandler swig_types[75]
+#define SWIGTYPE_p_wxKeyEvent swig_types[76]
+#define SWIGTYPE_p_wxLanguageInfo swig_types[77]
+#define SWIGTYPE_p_wxLayoutConstraints swig_types[78]
+#define SWIGTYPE_p_wxLocale swig_types[79]
+#define SWIGTYPE_p_wxMask swig_types[80]
+#define SWIGTYPE_p_wxMaximizeEvent swig_types[81]
+#define SWIGTYPE_p_wxMemoryDC swig_types[82]
+#define SWIGTYPE_p_wxMenu swig_types[83]
+#define SWIGTYPE_p_wxMenuBar swig_types[84]
+#define SWIGTYPE_p_wxMenuEvent swig_types[85]
+#define SWIGTYPE_p_wxMenuItem swig_types[86]
+#define SWIGTYPE_p_wxMetaFile swig_types[87]
+#define SWIGTYPE_p_wxMetaFileDC swig_types[88]
+#define SWIGTYPE_p_wxMirrorDC swig_types[89]
+#define SWIGTYPE_p_wxMouseCaptureChangedEvent swig_types[90]
+#define SWIGTYPE_p_wxMouseCaptureLostEvent swig_types[91]
+#define SWIGTYPE_p_wxMouseEvent swig_types[92]
+#define SWIGTYPE_p_wxMoveEvent swig_types[93]
+#define SWIGTYPE_p_wxNativeEncodingInfo swig_types[94]
+#define SWIGTYPE_p_wxNativeFontInfo swig_types[95]
+#define SWIGTYPE_p_wxNativePixelData swig_types[96]
+#define SWIGTYPE_p_wxNativePixelData_Accessor swig_types[97]
+#define SWIGTYPE_p_wxNavigationKeyEvent swig_types[98]
+#define SWIGTYPE_p_wxNcPaintEvent swig_types[99]
+#define SWIGTYPE_p_wxNotifyEvent swig_types[100]
+#define SWIGTYPE_p_wxObject swig_types[101]
+#define SWIGTYPE_p_wxOverlay swig_types[102]
+#define SWIGTYPE_p_wxPCXHandler swig_types[103]
+#define SWIGTYPE_p_wxPNGHandler swig_types[104]
+#define SWIGTYPE_p_wxPNMHandler swig_types[105]
+#define SWIGTYPE_p_wxPaintDC swig_types[106]
+#define SWIGTYPE_p_wxPaintEvent swig_types[107]
+#define SWIGTYPE_p_wxPalette swig_types[108]
+#define SWIGTYPE_p_wxPaletteChangedEvent swig_types[109]
+#define SWIGTYPE_p_wxPaperSize swig_types[110]
+#define SWIGTYPE_p_wxPen swig_types[111]
+#define SWIGTYPE_p_wxPenList swig_types[112]
+#define SWIGTYPE_p_wxPixelDataBase swig_types[113]
+#define SWIGTYPE_p_wxPoint swig_types[114]
+#define SWIGTYPE_p_wxPoint2D swig_types[115]
+#define SWIGTYPE_p_wxPostScriptDC swig_types[116]
+#define SWIGTYPE_p_wxPrintData swig_types[117]
+#define SWIGTYPE_p_wxPrinterDC swig_types[118]
+#define SWIGTYPE_p_wxPseudoDC swig_types[119]
+#define SWIGTYPE_p_wxPyApp swig_types[120]
+#define SWIGTYPE_p_wxPyCommandEvent swig_types[121]
+#define SWIGTYPE_p_wxPyEvent swig_types[122]
+#define SWIGTYPE_p_wxPyFontEnumerator swig_types[123]
+#define SWIGTYPE_p_wxPyImageHandler swig_types[124]
+#define SWIGTYPE_p_wxPyLocale swig_types[125]
+#define SWIGTYPE_p_wxPySizer swig_types[126]
+#define SWIGTYPE_p_wxPyValidator swig_types[127]
+#define SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[128]
+#define SWIGTYPE_p_wxRect swig_types[129]
+#define SWIGTYPE_p_wxRegion swig_types[130]
+#define SWIGTYPE_p_wxRegionIterator swig_types[131]
+#define SWIGTYPE_p_wxRendererNative swig_types[132]
+#define SWIGTYPE_p_wxRendererVersion swig_types[133]
+#define SWIGTYPE_p_wxScreenDC swig_types[134]
+#define SWIGTYPE_p_wxScrollEvent swig_types[135]
+#define SWIGTYPE_p_wxScrollWinEvent swig_types[136]
+#define SWIGTYPE_p_wxSetCursorEvent swig_types[137]
+#define SWIGTYPE_p_wxShowEvent swig_types[138]
+#define SWIGTYPE_p_wxSize swig_types[139]
+#define SWIGTYPE_p_wxSizeEvent swig_types[140]
+#define SWIGTYPE_p_wxSizer swig_types[141]
+#define SWIGTYPE_p_wxSizerItem swig_types[142]
+#define SWIGTYPE_p_wxSplitterRenderParams swig_types[143]
+#define SWIGTYPE_p_wxStaticBoxSizer swig_types[144]
+#define SWIGTYPE_p_wxStdDialogButtonSizer swig_types[145]
+#define SWIGTYPE_p_wxStockGDI swig_types[146]
+#define SWIGTYPE_p_wxString swig_types[147]
+#define SWIGTYPE_p_wxSysColourChangedEvent swig_types[148]
+#define SWIGTYPE_p_wxTIFFHandler swig_types[149]
+#define SWIGTYPE_p_wxUpdateUIEvent swig_types[150]
+#define SWIGTYPE_p_wxValidator swig_types[151]
+#define SWIGTYPE_p_wxWindow swig_types[152]
+#define SWIGTYPE_p_wxWindowCreateEvent swig_types[153]
+#define SWIGTYPE_p_wxWindowDC swig_types[154]
+#define SWIGTYPE_p_wxWindowDestroyEvent swig_types[155]
+#define SWIGTYPE_p_wxXPMHandler swig_types[156]
+static swig_type_info *swig_types[158];
+static swig_module_info swig_module = {swig_types, 157, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
@@ -23907,6 +23908,276 @@ SWIGINTERN PyObject *MemoryDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject
   return SWIG_Python_InitShadowInstance(args);
 }
 
   return SWIG_Python_InitShadowInstance(args);
 }
 
+SWIGINTERN PyObject *_wrap_new_ScreenDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  wxScreenDC *result = 0 ;
+  
+  if (!SWIG_Python_UnpackTuple(args,"new_ScreenDC",0,0,0)) SWIG_fail;
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxScreenDC *)new wxScreenDC();
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxScreenDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTopWin(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
+  wxWindow *arg2 = (wxWindow *) 0 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  char *  kwnames[] = {
+    (char *) "self",(char *) "window", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ScreenDC_StartDrawingOnTopWin",kwnames,&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
+  }
+  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "2"" of type '" "wxWindow *""'"); 
+  }
+  arg2 = reinterpret_cast< wxWindow * >(argp2);
+  {
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (bool)(arg1)->StartDrawingOnTop(arg2);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  {
+    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
+  wxRect *arg2 = (wxRect *) NULL ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  char *  kwnames[] = {
+    (char *) "self",(char *) "rect", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:ScreenDC_StartDrawingOnTop",kwnames,&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
+  }
+  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
+  if (obj1) {
+    res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxRect, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "2"" of type '" "wxRect *""'"); 
+    }
+    arg2 = reinterpret_cast< wxRect * >(argp2);
+  }
+  {
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (bool)(arg1)->StartDrawingOnTop(arg2);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  {
+    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ScreenDC_EndDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject *swig_obj[1] ;
+  
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_EndDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
+  }
+  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
+  {
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (bool)(arg1)->EndDrawingOnTop();
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  {
+    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *ScreenDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxScreenDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *ScreenDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_WindowDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxWindow *arg1 = (wxWindow *) 0 ;
+  wxWindowDC *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  char *  kwnames[] = {
+    (char *) "win", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_WindowDC",kwnames,&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_WindowDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+  }
+  arg1 = reinterpret_cast< wxWindow * >(argp1);
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxWindowDC *)new wxWindowDC(arg1);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxWindowDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *WindowDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxWindowDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *WindowDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_ClientDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxWindow *arg1 = (wxWindow *) 0 ;
+  wxClientDC *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  char *  kwnames[] = {
+    (char *) "win", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_ClientDC",kwnames,&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_ClientDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+  }
+  arg1 = reinterpret_cast< wxWindow * >(argp1);
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxClientDC *)new wxClientDC(arg1);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxClientDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *ClientDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxClientDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *ClientDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_PaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxWindow *arg1 = (wxWindow *) 0 ;
+  wxPaintDC *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  char *  kwnames[] = {
+    (char *) "win", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_PaintDC",kwnames,&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_PaintDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+  }
+  arg1 = reinterpret_cast< wxWindow * >(argp1);
+  {
+    if (!wxPyCheckForApp()) SWIG_fail;
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    result = (wxPaintDC *)new wxPaintDC(arg1);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxPaintDC, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *PaintDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxPaintDC, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *PaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
 SWIGINTERN PyObject *_wrap_new_BufferedDC__SWIG_0(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   wxDC *arg1 = (wxDC *) 0 ;
 SWIGINTERN PyObject *_wrap_new_BufferedDC__SWIG_0(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   wxDC *arg1 = (wxDC *) 0 ;
@@ -24164,238 +24435,10 @@ SWIGINTERN PyObject *BufferedPaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), Py
   return SWIG_Python_InitShadowInstance(args);
 }
 
   return SWIG_Python_InitShadowInstance(args);
 }
 
-SWIGINTERN PyObject *_wrap_new_ScreenDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  wxScreenDC *result = 0 ;
-  
-  if (!SWIG_Python_UnpackTuple(args,"new_ScreenDC",0,0,0)) SWIG_fail;
-  {
-    if (!wxPyCheckForApp()) SWIG_fail;
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxScreenDC *)new wxScreenDC();
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxScreenDC, SWIG_POINTER_NEW |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTopWin(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
-  wxWindow *arg2 = (wxWindow *) 0 ;
-  bool result;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  char *  kwnames[] = {
-    (char *) "self",(char *) "window", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ScreenDC_StartDrawingOnTopWin",kwnames,&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
-  }
-  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxWindow, 0 |  0 );
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTopWin" "', expected argument " "2"" of type '" "wxWindow *""'"); 
-  }
-  arg2 = reinterpret_cast< wxWindow * >(argp2);
-  {
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (bool)(arg1)->StartDrawingOnTop(arg2);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  {
-    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
-  }
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_ScreenDC_StartDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
-  wxRect *arg2 = (wxRect *) NULL ;
-  bool result;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  char *  kwnames[] = {
-    (char *) "self",(char *) "rect", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:ScreenDC_StartDrawingOnTop",kwnames,&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
-  }
-  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
-  if (obj1) {
-    res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxRect, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ScreenDC_StartDrawingOnTop" "', expected argument " "2"" of type '" "wxRect *""'"); 
-    }
-    arg2 = reinterpret_cast< wxRect * >(argp2);
-  }
-  {
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (bool)(arg1)->StartDrawingOnTop(arg2);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  {
-    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
-  }
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_ScreenDC_EndDrawingOnTop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  wxScreenDC *arg1 = (wxScreenDC *) 0 ;
-  bool result;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject *swig_obj[1] ;
-  
-  if (!args) SWIG_fail;
-  swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxScreenDC, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ScreenDC_EndDrawingOnTop" "', expected argument " "1"" of type '" "wxScreenDC *""'"); 
-  }
-  arg1 = reinterpret_cast< wxScreenDC * >(argp1);
-  {
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (bool)(arg1)->EndDrawingOnTop();
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  {
-    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
-  }
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *ScreenDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *obj;
-  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxScreenDC, SWIG_NewClientData(obj));
-  return SWIG_Py_Void();
-}
-
-SWIGINTERN PyObject *ScreenDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  return SWIG_Python_InitShadowInstance(args);
-}
-
-SWIGINTERN PyObject *_wrap_new_WindowDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxWindow *arg1 = (wxWindow *) 0 ;
-  wxWindowDC *result = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  char *  kwnames[] = {
-    (char *) "win", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_WindowDC",kwnames,&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_WindowDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
-  }
-  arg1 = reinterpret_cast< wxWindow * >(argp1);
-  {
-    if (!wxPyCheckForApp()) SWIG_fail;
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxWindowDC *)new wxWindowDC(arg1);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxWindowDC, SWIG_POINTER_NEW |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *WindowDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *obj;
-  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxWindowDC, SWIG_NewClientData(obj));
-  return SWIG_Py_Void();
-}
-
-SWIGINTERN PyObject *WindowDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  return SWIG_Python_InitShadowInstance(args);
-}
-
-SWIGINTERN PyObject *_wrap_new_ClientDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
-  PyObject *resultobj = 0;
-  wxWindow *arg1 = (wxWindow *) 0 ;
-  wxClientDC *result = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  char *  kwnames[] = {
-    (char *) "win", NULL 
-  };
-  
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_ClientDC",kwnames,&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_ClientDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
-  }
-  arg1 = reinterpret_cast< wxWindow * >(argp1);
-  {
-    if (!wxPyCheckForApp()) SWIG_fail;
-    PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxClientDC *)new wxClientDC(arg1);
-    wxPyEndAllowThreads(__tstate);
-    if (PyErr_Occurred()) SWIG_fail;
-  }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxClientDC, SWIG_POINTER_NEW |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *ClientDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *obj;
-  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxClientDC, SWIG_NewClientData(obj));
-  return SWIG_Py_Void();
-}
-
-SWIGINTERN PyObject *ClientDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  return SWIG_Python_InitShadowInstance(args);
-}
-
-SWIGINTERN PyObject *_wrap_new_PaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+SWIGINTERN PyObject *_wrap_new_AutoBufferedPaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
   PyObject *resultobj = 0;
   wxWindow *arg1 = (wxWindow *) 0 ;
   PyObject *resultobj = 0;
   wxWindow *arg1 = (wxWindow *) 0 ;
-  wxPaintDC *result = 0 ;
+  wxAutoBufferedPaintDC *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
@@ -24403,34 +24446,33 @@ SWIGINTERN PyObject *_wrap_new_PaintDC(PyObject *SWIGUNUSEDPARM(self), PyObject
     (char *) "win", NULL 
   };
   
     (char *) "win", NULL 
   };
   
-  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_PaintDC",kwnames,&obj0)) SWIG_fail;
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_AutoBufferedPaintDC",kwnames,&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxWindow, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_PaintDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_AutoBufferedPaintDC" "', expected argument " "1"" of type '" "wxWindow *""'"); 
   }
   arg1 = reinterpret_cast< wxWindow * >(argp1);
   {
   }
   arg1 = reinterpret_cast< wxWindow * >(argp1);
   {
-    if (!wxPyCheckForApp()) SWIG_fail;
     PyThreadState* __tstate = wxPyBeginAllowThreads();
     PyThreadState* __tstate = wxPyBeginAllowThreads();
-    result = (wxPaintDC *)new wxPaintDC(arg1);
+    result = (wxAutoBufferedPaintDC *)new wxAutoBufferedPaintDC(arg1);
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) SWIG_fail;
   }
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) SWIG_fail;
   }
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxPaintDC, SWIG_POINTER_NEW |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxAutoBufferedPaintDC, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *PaintDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *AutoBufferedPaintDC_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_wxPaintDC, SWIG_NewClientData(obj));
+  SWIG_TypeNewClientData(SWIGTYPE_p_wxAutoBufferedPaintDC, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *PaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *AutoBufferedPaintDC_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   return SWIG_Python_InitShadowInstance(args);
 }
 
   return SWIG_Python_InitShadowInstance(args);
 }
 
@@ -35643,14 +35685,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"MemoryDC_SelectObject", (PyCFunction) _wrap_MemoryDC_SelectObject, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MemoryDC_swigregister", MemoryDC_swigregister, METH_VARARGS, NULL},
         { (char *)"MemoryDC_swiginit", MemoryDC_swiginit, METH_VARARGS, NULL},
         { (char *)"MemoryDC_SelectObject", (PyCFunction) _wrap_MemoryDC_SelectObject, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MemoryDC_swigregister", MemoryDC_swigregister, METH_VARARGS, NULL},
         { (char *)"MemoryDC_swiginit", MemoryDC_swiginit, METH_VARARGS, NULL},
-        { (char *)"new_BufferedDC", _wrap_new_BufferedDC, METH_VARARGS, NULL},
-        { (char *)"delete_BufferedDC", (PyCFunction)_wrap_delete_BufferedDC, METH_O, NULL},
-        { (char *)"BufferedDC_UnMask", (PyCFunction)_wrap_BufferedDC_UnMask, METH_O, NULL},
-        { (char *)"BufferedDC_swigregister", BufferedDC_swigregister, METH_VARARGS, NULL},
-        { (char *)"BufferedDC_swiginit", BufferedDC_swiginit, METH_VARARGS, NULL},
-        { (char *)"new_BufferedPaintDC", (PyCFunction) _wrap_new_BufferedPaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
-        { (char *)"BufferedPaintDC_swigregister", BufferedPaintDC_swigregister, METH_VARARGS, NULL},
-        { (char *)"BufferedPaintDC_swiginit", BufferedPaintDC_swiginit, METH_VARARGS, NULL},
         { (char *)"new_ScreenDC", (PyCFunction)_wrap_new_ScreenDC, METH_NOARGS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTopWin", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTopWin, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTop", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTop, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_ScreenDC", (PyCFunction)_wrap_new_ScreenDC, METH_NOARGS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTopWin", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTopWin, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"ScreenDC_StartDrawingOnTop", (PyCFunction) _wrap_ScreenDC_StartDrawingOnTop, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -35666,6 +35700,17 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"new_PaintDC", (PyCFunction) _wrap_new_PaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"PaintDC_swigregister", PaintDC_swigregister, METH_VARARGS, NULL},
         { (char *)"PaintDC_swiginit", PaintDC_swiginit, METH_VARARGS, NULL},
         { (char *)"new_PaintDC", (PyCFunction) _wrap_new_PaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"PaintDC_swigregister", PaintDC_swigregister, METH_VARARGS, NULL},
         { (char *)"PaintDC_swiginit", PaintDC_swiginit, METH_VARARGS, NULL},
+        { (char *)"new_BufferedDC", _wrap_new_BufferedDC, METH_VARARGS, NULL},
+        { (char *)"delete_BufferedDC", (PyCFunction)_wrap_delete_BufferedDC, METH_O, NULL},
+        { (char *)"BufferedDC_UnMask", (PyCFunction)_wrap_BufferedDC_UnMask, METH_O, NULL},
+        { (char *)"BufferedDC_swigregister", BufferedDC_swigregister, METH_VARARGS, NULL},
+        { (char *)"BufferedDC_swiginit", BufferedDC_swiginit, METH_VARARGS, NULL},
+        { (char *)"new_BufferedPaintDC", (PyCFunction) _wrap_new_BufferedPaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"BufferedPaintDC_swigregister", BufferedPaintDC_swigregister, METH_VARARGS, NULL},
+        { (char *)"BufferedPaintDC_swiginit", BufferedPaintDC_swiginit, METH_VARARGS, NULL},
+        { (char *)"new_AutoBufferedPaintDC", (PyCFunction) _wrap_new_AutoBufferedPaintDC, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"AutoBufferedPaintDC_swigregister", AutoBufferedPaintDC_swigregister, METH_VARARGS, NULL},
+        { (char *)"AutoBufferedPaintDC_swiginit", AutoBufferedPaintDC_swiginit, METH_VARARGS, NULL},
         { (char *)"AutoBufferedPaintDCFactory", (PyCFunction) _wrap_AutoBufferedPaintDCFactory, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_MirrorDC", (PyCFunction) _wrap_new_MirrorDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MirrorDC_swigregister", MirrorDC_swigregister, METH_VARARGS, NULL},
         { (char *)"AutoBufferedPaintDCFactory", (PyCFunction) _wrap_AutoBufferedPaintDCFactory, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_MirrorDC", (PyCFunction) _wrap_new_MirrorDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"MirrorDC_swigregister", MirrorDC_swigregister, METH_VARARGS, NULL},
@@ -35994,12 +36039,12 @@ static void *_p_wxBrushTo_p_wxGDIObject(void *x) {
 static void *_p_wxGCDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxGCDC *) x));
 }
 static void *_p_wxGCDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxGCDC *) x));
 }
-static void *_p_wxBufferedDCTo_p_wxDC(void *x) {
-    return (void *)((wxDC *) (wxMemoryDC *) ((wxBufferedDC *) x));
-}
 static void *_p_wxScreenDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxScreenDC *) x));
 }
 static void *_p_wxScreenDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxScreenDC *) x));
 }
+static void *_p_wxBufferedDCTo_p_wxDC(void *x) {
+    return (void *)((wxDC *) (wxMemoryDC *) ((wxBufferedDC *) x));
+}
 static void *_p_wxMirrorDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMirrorDC *) x));
 }
 static void *_p_wxMirrorDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMirrorDC *) x));
 }
@@ -36012,15 +36057,18 @@ static void *_p_wxWindowDCTo_p_wxDC(void *x) {
 static void *_p_wxMetaFileDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMetaFileDC *) x));
 }
 static void *_p_wxMetaFileDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxMetaFileDC *) x));
 }
-static void *_p_wxBufferedPaintDCTo_p_wxDC(void *x) {
-    return (void *)((wxDC *) (wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
-}
 static void *_p_wxClientDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *) ((wxClientDC *) x));
 }
 static void *_p_wxPaintDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
 }
 static void *_p_wxClientDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *) ((wxClientDC *) x));
 }
 static void *_p_wxPaintDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *) (wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
 }
+static void *_p_wxBufferedPaintDCTo_p_wxDC(void *x) {
+    return (void *)((wxDC *) (wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
+}
+static void *_p_wxAutoBufferedPaintDCTo_p_wxDC(void *x) {
+    return (void *)((wxDC *)  ((wxAutoBufferedPaintDC *) x));
+}
 static void *_p_wxPostScriptDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxPostScriptDC *) x));
 }
 static void *_p_wxPostScriptDCTo_p_wxDC(void *x) {
     return (void *)((wxDC *)  ((wxPostScriptDC *) x));
 }
@@ -36234,11 +36282,14 @@ static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
 static void *_p_wxMouseCaptureLostEventTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureLostEvent *) x));
 }
 static void *_p_wxMouseCaptureLostEventTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureLostEvent *) x));
 }
+static void *_p_wxPaintDCTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxDC *)(wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
+}
 static void *_p_wxBufferedPaintDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *)(wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
 }
 static void *_p_wxBufferedPaintDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *)(wxMemoryDC *)(wxBufferedDC *) ((wxBufferedPaintDC *) x));
 }
-static void *_p_wxPaintDCTo_p_wxObject(void *x) {
-    return (void *)((wxObject *) (wxDC *)(wxWindowDC *)(wxClientDC *) ((wxPaintDC *) x));
+static void *_p_wxAutoBufferedPaintDCTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxDC *) ((wxAutoBufferedPaintDC *) x));
 }
 static void *_p_wxPrinterDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *) ((wxPrinterDC *) x));
 }
 static void *_p_wxPrinterDCTo_p_wxObject(void *x) {
     return (void *)((wxObject *) (wxDC *) ((wxPrinterDC *) x));
@@ -36388,6 +36439,7 @@ static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int
 static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *|wxUIntPtr *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData = {"_p_wxAlphaPixelData", "wxAlphaPixelData *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData_Accessor = {"_p_wxAlphaPixelData_Accessor", "wxAlphaPixelData_Accessor *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *|wxUIntPtr *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData = {"_p_wxAlphaPixelData", "wxAlphaPixelData *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxAlphaPixelData_Accessor = {"_p_wxAlphaPixelData_Accessor", "wxAlphaPixelData_Accessor *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_wxAutoBufferedPaintDC = {"_p_wxAutoBufferedPaintDC", "wxAutoBufferedPaintDC *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBitmap = {"_p_wxBitmap", "wxBitmap *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrush = {"_p_wxBrush", "wxBrush *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrushList = {"_p_wxBrushList", "wxBrushList *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBitmap = {"_p_wxBitmap", "wxBitmap *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrush = {"_p_wxBrush", "wxBrush *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxBrushList = {"_p_wxBrushList", "wxBrushList *", 0, 0, (void*)0, 0};
@@ -36470,7 +36522,6 @@ static swig_type_info _swigt__p_wxIconizeEvent = {"_p_wxIconizeEvent", 0, 0, 0,
 static swig_type_info _swigt__p_wxSizeEvent = {"_p_wxSizeEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxMoveEvent = {"_p_wxMoveEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxActivateEvent = {"_p_wxActivateEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxSizeEvent = {"_p_wxSizeEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxMoveEvent = {"_p_wxMoveEvent", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxActivateEvent = {"_p_wxActivateEvent", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_wxCURHandler = {"_p_wxCURHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxICOHandler = {"_p_wxICOHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxBMPHandler = {"_p_wxBMPHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPyImageHandler = {"_p_wxPyImageHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxICOHandler = {"_p_wxICOHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxBMPHandler = {"_p_wxBMPHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPyImageHandler = {"_p_wxPyImageHandler", 0, 0, 0, 0, 0};
@@ -36478,6 +36529,7 @@ static swig_type_info _swigt__p_wxImageHandler = {"_p_wxImageHandler", 0, 0, 0,
 static swig_type_info _swigt__p_wxXPMHandler = {"_p_wxXPMHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxTIFFHandler = {"_p_wxTIFFHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxEvtHandler = {"_p_wxEvtHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxXPMHandler = {"_p_wxXPMHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxTIFFHandler = {"_p_wxTIFFHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxEvtHandler = {"_p_wxEvtHandler", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_wxCURHandler = {"_p_wxCURHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxANIHandler = {"_p_wxANIHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPNGHandler = {"_p_wxPNGHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxGIFHandler = {"_p_wxGIFHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxANIHandler = {"_p_wxANIHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxPNGHandler = {"_p_wxPNGHandler", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_wxGIFHandler = {"_p_wxGIFHandler", 0, 0, 0, 0, 0};
@@ -36549,6 +36601,7 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_wxActivateEvent,
   &_swigt__p_wxAlphaPixelData,
   &_swigt__p_wxAlphaPixelData_Accessor,
   &_swigt__p_wxActivateEvent,
   &_swigt__p_wxAlphaPixelData,
   &_swigt__p_wxAlphaPixelData_Accessor,
+  &_swigt__p_wxAutoBufferedPaintDC,
   &_swigt__p_wxBMPHandler,
   &_swigt__p_wxBitmap,
   &_swigt__p_wxBoxSizer,
   &_swigt__p_wxBMPHandler,
   &_swigt__p_wxBitmap,
   &_swigt__p_wxBoxSizer,
@@ -36704,6 +36757,7 @@ static swig_cast_info _swigc__p_unsigned_int[] = {  {&_swigt__p_unsigned_int, 0,
 static swig_cast_info _swigc__p_unsigned_long[] = {  {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData[] = {  {&_swigt__p_wxAlphaPixelData, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData_Accessor[] = {  {&_swigt__p_wxAlphaPixelData_Accessor, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_unsigned_long[] = {  {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData[] = {  {&_swigt__p_wxAlphaPixelData, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxAlphaPixelData_Accessor[] = {  {&_swigt__p_wxAlphaPixelData_Accessor, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxAutoBufferedPaintDC[] = {  {&_swigt__p_wxAutoBufferedPaintDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBitmap[] = {  {&_swigt__p_wxBitmap, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrush[] = {  {&_swigt__p_wxBrush, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrushList[] = {  {&_swigt__p_wxBrushList, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBitmap[] = {  {&_swigt__p_wxBitmap, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrush[] = {  {&_swigt__p_wxBrush, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBrushList[] = {  {&_swigt__p_wxBrushList, 0, 0, 0},{0, 0, 0, 0}};
@@ -36715,7 +36769,7 @@ static swig_cast_info _swigc__p_wxColor[] = {  {&_swigt__p_wxColor, 0, 0, 0},{0,
 static swig_cast_info _swigc__p_wxColour[] = {  {&_swigt__p_wxColour, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxColourDatabase[] = {  {&_swigt__p_wxColourDatabase, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxCursor[] = {  {&_swigt__p_wxCursor, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxColour[] = {  {&_swigt__p_wxColour, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxColourDatabase[] = {  {&_swigt__p_wxColourDatabase, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxCursor[] = {  {&_swigt__p_wxCursor, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxDC[] = {  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxDC, 0, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxDC, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxDC[] = {  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxAutoBufferedPaintDC, _p_wxAutoBufferedPaintDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxDC, 0, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxDC, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxDC, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDCOverlay[] = {  {&_swigt__p_wxDCOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDash[] = {  {&_swigt__p_wxDash, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDuplexMode[] = {  {&_swigt__p_wxDuplexMode, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDCOverlay[] = {  {&_swigt__p_wxDCOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDash[] = {  {&_swigt__p_wxDash, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxDuplexMode[] = {  {&_swigt__p_wxDuplexMode, 0, 0, 0},{0, 0, 0, 0}};
@@ -36785,7 +36839,6 @@ static swig_cast_info _swigc__p_wxIconizeEvent[] = {{&_swigt__p_wxIconizeEvent,
 static swig_cast_info _swigc__p_wxSizeEvent[] = {{&_swigt__p_wxSizeEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxMoveEvent[] = {{&_swigt__p_wxMoveEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxActivateEvent[] = {{&_swigt__p_wxActivateEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxSizeEvent[] = {{&_swigt__p_wxSizeEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxMoveEvent[] = {{&_swigt__p_wxMoveEvent, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxActivateEvent[] = {{&_swigt__p_wxActivateEvent, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxCURHandler[] = {{&_swigt__p_wxCURHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxICOHandler[] = {{&_swigt__p_wxICOHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBMPHandler[] = {{&_swigt__p_wxBMPHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyImageHandler[] = {{&_swigt__p_wxPyImageHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxICOHandler[] = {{&_swigt__p_wxICOHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxBMPHandler[] = {{&_swigt__p_wxBMPHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyImageHandler[] = {{&_swigt__p_wxPyImageHandler, 0, 0, 0},{0, 0, 0, 0}};
@@ -36793,6 +36846,7 @@ static swig_cast_info _swigc__p_wxImageHandler[] = {{&_swigt__p_wxImageHandler,
 static swig_cast_info _swigc__p_wxXPMHandler[] = {{&_swigt__p_wxXPMHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxTIFFHandler[] = {{&_swigt__p_wxTIFFHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxEvtHandler[] = {{&_swigt__p_wxEvtHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxXPMHandler[] = {{&_swigt__p_wxXPMHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxTIFFHandler[] = {{&_swigt__p_wxTIFFHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxEvtHandler[] = {{&_swigt__p_wxEvtHandler, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxCURHandler[] = {{&_swigt__p_wxCURHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxANIHandler[] = {{&_swigt__p_wxANIHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPNGHandler[] = {{&_swigt__p_wxPNGHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxGIFHandler[] = {{&_swigt__p_wxGIFHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxANIHandler[] = {{&_swigt__p_wxANIHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPNGHandler[] = {{&_swigt__p_wxPNGHandler, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxGIFHandler[] = {{&_swigt__p_wxGIFHandler, 0, 0, 0},{0, 0, 0, 0}};
@@ -36822,7 +36876,7 @@ static swig_cast_info _swigc__p_wxChildFocusEvent[] = {{&_swigt__p_wxChildFocusE
 static swig_cast_info _swigc__p_wxControlWithItems[] = {{&_swigt__p_wxControlWithItems, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyValidator[] = {{&_swigt__p_wxPyValidator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxValidator[] = {{&_swigt__p_wxValidator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxControlWithItems[] = {{&_swigt__p_wxControlWithItems, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyValidator[] = {{&_swigt__p_wxPyValidator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxValidator[] = {{&_swigt__p_wxValidator, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxObject[] = {  {&_swigt__p_wxLayoutConstraints, _p_wxLayoutConstraintsTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegionIterator, _p_wxRegionIteratorTo_p_wxObject, 0, 0},  {&_swigt__p_wxPen, _p_wxPenTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizerItem, _p_wxSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxGBSizerItem, _p_wxGBSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollEvent, _p_wxScrollEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIndividualLayoutConstraint, _p_wxIndividualLayoutConstraintTo_p_wxObject, 0, 0},  {&_swigt__p_wxStaticBoxSizer, _p_wxStaticBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBoxSizer, _p_wxBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizer, _p_wxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridBagSizer, _p_wxGridBagSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxUpdateUIEvent, _p_wxUpdateUIEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenu, _p_wxMenuTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvent, _p_wxEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFlexGridSizer, _p_wxFlexGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridSizer, _p_wxGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxInitDialogEvent, _p_wxInitDialogEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMask, _p_wxMaskTo_p_wxObject, 0, 0},  {&_swigt__p_wxPseudoDC, _p_wxPseudoDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxClipboardTextEvent, _p_wxClipboardTextEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintEvent, _p_wxPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNcPaintEvent, _p_wxNcPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaletteChangedEvent, _p_wxPaletteChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDisplayChangedEvent, _p_wxDisplayChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureChangedEvent, _p_wxMouseCaptureChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSysColourChangedEvent, _p_wxSysColourChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxControl, _p_wxControlTo_p_wxObject, 0, 0},  {&_swigt__p_wxFont, _p_wxFontTo_p_wxObject, 0, 0},  {&_swigt__p_wxSetCursorEvent, _p_wxSetCursorEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxFSFile, _p_wxFSFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegion, _p_wxRegionTo_p_wxObject, 0, 0},  {&_swigt__p_wxPySizer, _p_wxPySizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxDC, _p_wxDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxIcon, _p_wxIconTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGDIObject, _p_wxGDIObjectTo_p_wxObject, 0, 0},  {&_swigt__p_wxEffects, _p_wxEffectsTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyEvent, _p_wxPyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNotifyEvent, _p_wxNotifyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxShowEvent, _p_wxShowEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuItem, _p_wxMenuItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxDateEvent, _p_wxDateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIdleEvent, _p_wxIdleEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowCreateEvent, _p_wxWindowCreateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxQueryNewPaletteEvent, _p_wxQueryNewPaletteEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMaximizeEvent, _p_wxMaximizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIconizeEvent, _p_wxIconizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizeEvent, _p_wxSizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMoveEvent, _p_wxMoveEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxActivateEvent, _p_wxActivateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxCURHandler, _p_wxCURHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxICOHandler, _p_wxICOHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBMPHandler, _p_wxBMPHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyImageHandler, _p_wxPyImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageHandler, _p_wxImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxXPMHandler, _p_wxXPMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxTIFFHandler, _p_wxTIFFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvtHandler, _p_wxEvtHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxANIHandler, _p_wxANIHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNGHandler, _p_wxPNGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGIFHandler, _p_wxGIFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPCXHandler, _p_wxPCXHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxJPEGHandler, _p_wxJPEGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNMHandler, _p_wxPNMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureLostEvent, _p_wxMouseCaptureLostEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxStdDialogButtonSizer, _p_wxStdDialogButtonSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxAcceleratorTable, _p_wxAcceleratorTableTo_p_wxObject, 0, 0},  {&_swigt__p_wxImage, _p_wxImageTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollWinEvent, _p_wxScrollWinEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPalette, _p_wxPaletteTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageList, _p_wxImageListTo_p_wxObject, 0, 0},  {&_swigt__p_wxCursor, _p_wxCursorTo_p_wxObject, 0, 0},  {&_swigt__p_wxObject, 0, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxEncodingConverter, _p_wxEncodingConverterTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDestroyEvent, _p_wxWindowDestroyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNavigationKeyEvent, _p_wxNavigationKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxKeyEvent, _p_wxKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindow, _p_wxWindowTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuBar, _p_wxMenuBarTo_p_wxObject, 0, 0},  {&_swigt__p_wxFileSystem, _p_wxFileSystemTo_p_wxObject, 0, 0},  {&_swigt__p_wxBitmap, _p_wxBitmapTo_p_wxObject, 0, 0},  {&_swigt__p_wxContextMenuEvent, _p_wxContextMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuEvent, _p_wxMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyApp, _p_wxPyAppTo_p_wxObject, 0, 0},  {&_swigt__p_wxCloseEvent, _p_wxCloseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseEvent, _p_wxMouseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxEraseEvent, _p_wxEraseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyCommandEvent, _p_wxPyCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxCommandEvent, _p_wxCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDropFilesEvent, _p_wxDropFilesEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFocusEvent, _p_wxFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxChildFocusEvent, _p_wxChildFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBrush, _p_wxBrushTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFile, _p_wxMetaFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxControlWithItems, _p_wxControlWithItemsTo_p_wxObject, 0, 0},  {&_swigt__p_wxColour, _p_wxColourTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyValidator, _p_wxPyValidatorTo_p_wxObject, 0, 0},  {&_swigt__p_wxValidator, _p_wxValidatorTo_p_wxObject, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxObject[] = {  {&_swigt__p_wxLayoutConstraints, _p_wxLayoutConstraintsTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegionIterator, _p_wxRegionIteratorTo_p_wxObject, 0, 0},  {&_swigt__p_wxPen, _p_wxPenTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizerItem, _p_wxSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxGBSizerItem, _p_wxGBSizerItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollEvent, _p_wxScrollEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIndividualLayoutConstraint, _p_wxIndividualLayoutConstraintTo_p_wxObject, 0, 0},  {&_swigt__p_wxStaticBoxSizer, _p_wxStaticBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBoxSizer, _p_wxBoxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizer, _p_wxSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGCDC, _p_wxGCDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridBagSizer, _p_wxGridBagSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxUpdateUIEvent, _p_wxUpdateUIEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenu, _p_wxMenuTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvent, _p_wxEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFlexGridSizer, _p_wxFlexGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGridSizer, _p_wxGridSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxInitDialogEvent, _p_wxInitDialogEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMask, _p_wxMaskTo_p_wxObject, 0, 0},  {&_swigt__p_wxPseudoDC, _p_wxPseudoDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxClipboardTextEvent, _p_wxClipboardTextEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintEvent, _p_wxPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNcPaintEvent, _p_wxNcPaintEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaletteChangedEvent, _p_wxPaletteChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDisplayChangedEvent, _p_wxDisplayChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureChangedEvent, _p_wxMouseCaptureChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSysColourChangedEvent, _p_wxSysColourChangedEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxControl, _p_wxControlTo_p_wxObject, 0, 0},  {&_swigt__p_wxFont, _p_wxFontTo_p_wxObject, 0, 0},  {&_swigt__p_wxSetCursorEvent, _p_wxSetCursorEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxClientDC, _p_wxClientDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxFSFile, _p_wxFSFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxMemoryDC, _p_wxMemoryDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxRegion, _p_wxRegionTo_p_wxObject, 0, 0},  {&_swigt__p_wxPySizer, _p_wxPySizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxDC, _p_wxDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxIcon, _p_wxIconTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDC, _p_wxWindowDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxGDIObject, _p_wxGDIObjectTo_p_wxObject, 0, 0},  {&_swigt__p_wxEffects, _p_wxEffectsTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyEvent, _p_wxPyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNotifyEvent, _p_wxNotifyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPostScriptDC, _p_wxPostScriptDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxShowEvent, _p_wxShowEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuItem, _p_wxMenuItemTo_p_wxObject, 0, 0},  {&_swigt__p_wxDateEvent, _p_wxDateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIdleEvent, _p_wxIdleEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowCreateEvent, _p_wxWindowCreateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxQueryNewPaletteEvent, _p_wxQueryNewPaletteEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMaximizeEvent, _p_wxMaximizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxIconizeEvent, _p_wxIconizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxSizeEvent, _p_wxSizeEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMoveEvent, _p_wxMoveEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxActivateEvent, _p_wxActivateEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxICOHandler, _p_wxICOHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxBMPHandler, _p_wxBMPHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyImageHandler, _p_wxPyImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageHandler, _p_wxImageHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxXPMHandler, _p_wxXPMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxTIFFHandler, _p_wxTIFFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxEvtHandler, _p_wxEvtHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxCURHandler, _p_wxCURHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxANIHandler, _p_wxANIHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNGHandler, _p_wxPNGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxGIFHandler, _p_wxGIFHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPCXHandler, _p_wxPCXHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxJPEGHandler, _p_wxJPEGHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxPNMHandler, _p_wxPNMHandlerTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseCaptureLostEvent, _p_wxMouseCaptureLostEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxAutoBufferedPaintDC, _p_wxAutoBufferedPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedPaintDC, _p_wxBufferedPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPaintDC, _p_wxPaintDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPrinterDC, _p_wxPrinterDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxScreenDC, _p_wxScreenDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxStdDialogButtonSizer, _p_wxStdDialogButtonSizerTo_p_wxObject, 0, 0},  {&_swigt__p_wxAcceleratorTable, _p_wxAcceleratorTableTo_p_wxObject, 0, 0},  {&_swigt__p_wxImage, _p_wxImageTo_p_wxObject, 0, 0},  {&_swigt__p_wxScrollWinEvent, _p_wxScrollWinEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBufferedDC, _p_wxBufferedDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxPalette, _p_wxPaletteTo_p_wxObject, 0, 0},  {&_swigt__p_wxImageList, _p_wxImageListTo_p_wxObject, 0, 0},  {&_swigt__p_wxCursor, _p_wxCursorTo_p_wxObject, 0, 0},  {&_swigt__p_wxObject, 0, 0, 0},  {&_swigt__p_wxMirrorDC, _p_wxMirrorDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxEncodingConverter, _p_wxEncodingConverterTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindowDestroyEvent, _p_wxWindowDestroyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxNavigationKeyEvent, _p_wxNavigationKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxKeyEvent, _p_wxKeyEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFileDC, _p_wxMetaFileDCTo_p_wxObject, 0, 0},  {&_swigt__p_wxWindow, _p_wxWindowTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuBar, _p_wxMenuBarTo_p_wxObject, 0, 0},  {&_swigt__p_wxFileSystem, _p_wxFileSystemTo_p_wxObject, 0, 0},  {&_swigt__p_wxBitmap, _p_wxBitmapTo_p_wxObject, 0, 0},  {&_swigt__p_wxContextMenuEvent, _p_wxContextMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMenuEvent, _p_wxMenuEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyApp, _p_wxPyAppTo_p_wxObject, 0, 0},  {&_swigt__p_wxCloseEvent, _p_wxCloseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxMouseEvent, _p_wxMouseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxEraseEvent, _p_wxEraseEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyCommandEvent, _p_wxPyCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxCommandEvent, _p_wxCommandEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxDropFilesEvent, _p_wxDropFilesEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxFocusEvent, _p_wxFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxChildFocusEvent, _p_wxChildFocusEventTo_p_wxObject, 0, 0},  {&_swigt__p_wxBrush, _p_wxBrushTo_p_wxObject, 0, 0},  {&_swigt__p_wxMetaFile, _p_wxMetaFileTo_p_wxObject, 0, 0},  {&_swigt__p_wxControlWithItems, _p_wxControlWithItemsTo_p_wxObject, 0, 0},  {&_swigt__p_wxColour, _p_wxColourTo_p_wxObject, 0, 0},  {&_swigt__p_wxPyValidator, _p_wxPyValidatorTo_p_wxObject, 0, 0},  {&_swigt__p_wxValidator, _p_wxValidatorTo_p_wxObject, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxOverlay[] = {  {&_swigt__p_wxOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPaintDC[] = {  {&_swigt__p_wxPaintDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPalette[] = {  {&_swigt__p_wxPalette, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxOverlay[] = {  {&_swigt__p_wxOverlay, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPaintDC[] = {  {&_swigt__p_wxPaintDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPalette[] = {  {&_swigt__p_wxPalette, 0, 0, 0},{0, 0, 0, 0}};
@@ -36865,6 +36919,7 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_wxActivateEvent,
   _swigc__p_wxAlphaPixelData,
   _swigc__p_wxAlphaPixelData_Accessor,
   _swigc__p_wxActivateEvent,
   _swigc__p_wxAlphaPixelData,
   _swigc__p_wxAlphaPixelData_Accessor,
+  _swigc__p_wxAutoBufferedPaintDC,
   _swigc__p_wxBMPHandler,
   _swigc__p_wxBitmap,
   _swigc__p_wxBoxSizer,
   _swigc__p_wxBMPHandler,
   _swigc__p_wxBitmap,
   _swigc__p_wxBoxSizer,
index 55eaa292c3fa1eada5957f20de80d6ab058965cb..dcc269f9a9f9ce61cdc1d7f330666e6b3ed8151a 100644 (file)
@@ -6631,8 +6631,8 @@ def AboutBox(*args, **kwargs):
     This function shows the standard about dialog containing the
     information specified in ``info``. If the current platform has a
     native about dialog which is capable of showing all the fields in
     This function shows the standard about dialog containing the
     information specified in ``info``. If the current platform has a
     native about dialog which is capable of showing all the fields in
-    ``info``, the native dialog is used, otherwise the function falls back
-    to the generic wxWidgets version of the dialog.
+    `wx.AboutDialogInfo`, the native dialog is used, otherwise the
+    function falls back to the generic wxWidgets version of the dialog.
     """
   return _misc_.AboutBox(*args, **kwargs)
 
     """
   return _misc_.AboutBox(*args, **kwargs)