+_gdi_.Effects_swigregister(Effects)
+
+#---------------------------------------------------------------------------
+
+CONTROL_DISABLED = _gdi_.CONTROL_DISABLED
+CONTROL_FOCUSED = _gdi_.CONTROL_FOCUSED
+CONTROL_PRESSED = _gdi_.CONTROL_PRESSED
+CONTROL_ISDEFAULT = _gdi_.CONTROL_ISDEFAULT
+CONTROL_ISSUBMENU = _gdi_.CONTROL_ISSUBMENU
+CONTROL_EXPANDED = _gdi_.CONTROL_EXPANDED
+CONTROL_CURRENT = _gdi_.CONTROL_CURRENT
+CONTROL_SELECTED = _gdi_.CONTROL_SELECTED
+CONTROL_CHECKED = _gdi_.CONTROL_CHECKED
+CONTROL_CHECKABLE = _gdi_.CONTROL_CHECKABLE
+CONTROL_UNDETERMINED = _gdi_.CONTROL_UNDETERMINED
+CONTROL_FLAGS_MASK = _gdi_.CONTROL_FLAGS_MASK
+CONTROL_DIRTY = _gdi_.CONTROL_DIRTY
+class SplitterRenderParams(object):
+    """
+    This is just a simple struct used as a return value of
+    `wx.RendererNative.GetSplitterParams` and contains some platform
+    specific metrics about splitters.
+
+        * widthSash: the width of the splitter sash.
+        * border: the width of the border of the splitter window.
+        * isHotSensitive: ``True`` if the splitter changes its
+          appearance when the mouse is over it.
+
+
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, int widthSash_, int border_, bool isSens_) -> SplitterRenderParams
+
+        This is just a simple struct used as a return value of
+        `wx.RendererNative.GetSplitterParams` and contains some platform
+        specific metrics about splitters.
+
+            * widthSash: the width of the splitter sash.
+            * border: the width of the border of the splitter window.
+            * isHotSensitive: ``True`` if the splitter changes its
+              appearance when the mouse is over it.
+
+
+        """
+        _gdi_.SplitterRenderParams_swiginit(self,_gdi_.new_SplitterRenderParams(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_SplitterRenderParams
+    __del__ = lambda self : None;
+    widthSash = property(_gdi_.SplitterRenderParams_widthSash_get)
+    border = property(_gdi_.SplitterRenderParams_border_get)
+    isHotSensitive = property(_gdi_.SplitterRenderParams_isHotSensitive_get)
+_gdi_.SplitterRenderParams_swigregister(SplitterRenderParams)
+
+class RendererVersion(object):
+    """
+    This simple struct represents the `wx.RendererNative` interface
+    version and is only used as the return value of
+    `wx.RendererNative.GetVersion`.
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, int version_, int age_) -> RendererVersion
+
+        This simple struct represents the `wx.RendererNative` interface
+        version and is only used as the return value of
+        `wx.RendererNative.GetVersion`.
+        """
+        _gdi_.RendererVersion_swiginit(self,_gdi_.new_RendererVersion(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_RendererVersion
+    __del__ = lambda self : None;
+    Current_Version = _gdi_.RendererVersion_Current_Version
+    Current_Age = _gdi_.RendererVersion_Current_Age
+    def IsCompatible(*args, **kwargs):
+        """IsCompatible(RendererVersion ver) -> bool"""
+        return _gdi_.RendererVersion_IsCompatible(*args, **kwargs)
+
+    IsCompatible = staticmethod(IsCompatible)
+    version = property(_gdi_.RendererVersion_version_get)
+    age = property(_gdi_.RendererVersion_age_get)
+_gdi_.RendererVersion_swigregister(RendererVersion)
+
+def RendererVersion_IsCompatible(*args, **kwargs):
+  """RendererVersion_IsCompatible(RendererVersion ver) -> bool"""
+  return _gdi_.RendererVersion_IsCompatible(*args, **kwargs)
+
+class RendererNative(object):
+    """
+    One of the design principles of wxWidgets is to use the native widgets
+    on every platform in order to be as close to the native look and feel
+    on every platform.  However there are still cases when some generic
+    widgets are needed for various reasons, but it can sometimes take a
+    lot of messy work to make them conform to the native LnF.
+
+    The wx.RendererNative class is a collection of functions that have
+    platform-specific implementations for drawing certain parts of
+    genereic controls in ways that are as close to the native look as
+    possible.
+
+    Note that each drawing function restores the `wx.DC` attributes if it
+    changes them, so it is safe to assume that the same pen, brush and
+    colours that were active before the call to this function are still in
+    effect after it.
+
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    def DrawHeaderButton(*args, **kwargs):
+        """
+        DrawHeaderButton(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw the header control button (such as what is used by `wx.ListCtrl`
+        in report mode.)
+        """
+        return _gdi_.RendererNative_DrawHeaderButton(*args, **kwargs)
+
+    def DrawTreeItemButton(*args, **kwargs):
+        """
+        DrawTreeItemButton(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw the expanded/collapsed icon for a tree control item.
+        """
+        return _gdi_.RendererNative_DrawTreeItemButton(*args, **kwargs)
+
+    def DrawSplitterBorder(*args, **kwargs):
+        """
+        DrawSplitterBorder(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw the border for a sash window: this border must be such that the
+        sash drawn by `DrawSplitterSash` blends into it well.
+        """
+        return _gdi_.RendererNative_DrawSplitterBorder(*args, **kwargs)
+
+    def DrawSplitterSash(*args, **kwargs):
+        """
+        DrawSplitterSash(self, Window win, DC dc, Size size, int position, int orient, 
+            int flags=0)
+
+        Draw a sash. The orient parameter defines whether the sash should be
+        vertical or horizontal and how the position should be interpreted.
+        """
+        return _gdi_.RendererNative_DrawSplitterSash(*args, **kwargs)
+
+    def DrawComboBoxDropButton(*args, **kwargs):
+        """
+        DrawComboBoxDropButton(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw a button like the one used by `wx.ComboBox` to show a drop down
+        window. The usual appearance is a downwards pointing arrow.
+
+        The ``flags`` parameter may have the ``wx.CONTROL_PRESSED`` or
+        ``wx.CONTROL_CURRENT`` bits set.
+        """
+        return _gdi_.RendererNative_DrawComboBoxDropButton(*args, **kwargs)
+
+    def DrawDropArrow(*args, **kwargs):
+        """
+        DrawDropArrow(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw a drop down arrow that is suitable for use outside a combo
+        box. Arrow will have a transparent background.
+
+        ``rect`` is not entirely filled by the arrow. Instead, you should use
+        bounding rectangle of a drop down button which arrow matches the size
+        you need. ``flags`` may have the ``wx.CONTROL_PRESSED`` or
+        ``wx.CONTROL_CURRENT`` bit set.
+        """
+        return _gdi_.RendererNative_DrawDropArrow(*args, **kwargs)
+
+    def DrawCheckBox(*args, **kwargs):
+        """
+        DrawCheckBox(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw a check button.  Flags may use wx.CONTROL_CHECKED,
+        wx.CONTROL_UNDETERMINED and wx.CONTROL_CURRENT.
+        """
+        return _gdi_.RendererNative_DrawCheckBox(*args, **kwargs)
+
+    def DrawPushButton(*args, **kwargs):
+        """
+        DrawPushButton(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw a blank button.  Flags may be wx.CONTROL_PRESSED, wx.CONTROL_CURRENT and
+        wx.CONTROL_ISDEFAULT
+        """
+        return _gdi_.RendererNative_DrawPushButton(*args, **kwargs)
+
+    def DrawItemSelectionRect(*args, **kwargs):
+        """
+        DrawItemSelectionRect(self, Window win, DC dc, Rect rect, int flags=0)
+
+        Draw rectangle indicating that an item in e.g. a list control has been
+        selected or focused
+
+        The flags parameter may be:
+
+            ====================  ============================================
+            wx.CONTROL_SELECTED   item is selected, e.g. draw background
+            wx.CONTROL_CURRENT    item is the current item, e.g. dotted border
+            wx.CONTROL_FOCUSED    the whole control has focus, e.g. blue
+                                  background vs. grey otherwise
+            ====================  ============================================
+
+        """
+        return _gdi_.RendererNative_DrawItemSelectionRect(*args, **kwargs)
+
+    def GetSplitterParams(*args, **kwargs):
+        """
+        GetSplitterParams(self, Window win) -> SplitterRenderParams
+
+        Get the splitter parameters, see `wx.SplitterRenderParams`.
+        """
+        return _gdi_.RendererNative_GetSplitterParams(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """
+        Get() -> RendererNative
+
+        Return the currently used renderer
+        """
+        return _gdi_.RendererNative_Get(*args, **kwargs)
+
+    Get = staticmethod(Get)
+    def GetGeneric(*args, **kwargs):
+        """
+        GetGeneric() -> RendererNative
+
+        Return the generic implementation of the renderer. Under some
+        platforms, this is the default renderer implementation, others have
+        platform-specific default renderer which can be retrieved by calling
+        `wx.RendererNative.GetDefault`.
+        """
+        return _gdi_.RendererNative_GetGeneric(*args, **kwargs)
+
+    GetGeneric = staticmethod(GetGeneric)
+    def GetDefault(*args, **kwargs):
+        """
+        GetDefault() -> RendererNative
+
+        Return the default (native) implementation for this platform -- this
+        is also the one used by default but this may be changed by calling
+        `wx.RendererNative.Set` in which case the return value of this method
+        may be different from the return value of `wx.RendererNative.Get`.
+        """
+        return _gdi_.RendererNative_GetDefault(*args, **kwargs)
+
+    GetDefault = staticmethod(GetDefault)
+    def Set(*args, **kwargs):
+        """
+        Set(RendererNative renderer) -> RendererNative
+
+        Set the renderer to use, passing None reverts to using the default
+        renderer.  Returns the previous renderer used with Set or None.
+        """
+        return _gdi_.RendererNative_Set(*args, **kwargs)
+
+    Set = staticmethod(Set)
+    def GetVersion(*args, **kwargs):
+        """
+        GetVersion(self) -> RendererVersion
+
+        Returns the version of the renderer.  Will be used for ensuring
+        compatibility of dynamically loaded renderers.
+        """
+        return _gdi_.RendererNative_GetVersion(*args, **kwargs)
+
+_gdi_.RendererNative_swigregister(RendererNative)
+
+def RendererNative_Get(*args):
+  """
+    RendererNative_Get() -> RendererNative
+
+    Return the currently used renderer
+    """
+  return _gdi_.RendererNative_Get(*args)
+
+def RendererNative_GetGeneric(*args):
+  """
+    RendererNative_GetGeneric() -> RendererNative
+
+    Return the generic implementation of the renderer. Under some
+    platforms, this is the default renderer implementation, others have
+    platform-specific default renderer which can be retrieved by calling
+    `wx.RendererNative.GetDefault`.
+    """
+  return _gdi_.RendererNative_GetGeneric(*args)
+
+def RendererNative_GetDefault(*args):
+  """
+    RendererNative_GetDefault() -> RendererNative
+
+    Return the default (native) implementation for this platform -- this
+    is also the one used by default but this may be changed by calling
+    `wx.RendererNative.Set` in which case the return value of this method
+    may be different from the return value of `wx.RendererNative.Get`.
+    """
+  return _gdi_.RendererNative_GetDefault(*args)
+
+def RendererNative_Set(*args, **kwargs):
+  """
+    RendererNative_Set(RendererNative renderer) -> RendererNative
+
+    Set the renderer to use, passing None reverts to using the default
+    renderer.  Returns the previous renderer used with Set or None.
+    """
+  return _gdi_.RendererNative_Set(*args, **kwargs)
+
+#---------------------------------------------------------------------------
+
+class PseudoDC(_core.Object):
+    """
+    A PseudoDC is an object that can be used as if it were a `wx.DC`.  All
+    commands issued to the PseudoDC are stored in a list.  You can then
+    play these commands back to a real DC object using the DrawToDC
+    method.  Commands in the command list are indexed by ID.  You can use
+    this to clear the operations associated with a single ID and then
+    re-draw the object associated with that ID.
+    """
+    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) -> PseudoDC
+
+        Constructs a new Pseudo device context for recording dc operations
+        """
+        _gdi_.PseudoDC_swiginit(self,_gdi_.new_PseudoDC(*args, **kwargs))
+    def BeginDrawing(*args, **kwargs):
+        """
+        BeginDrawing(self)
+
+        Allows for optimization of drawing code on platforms that need it.  On
+        other platforms this is just an empty function and is harmless.  To
+        take advantage of this postential optimization simply enclose each
+        group of calls to the drawing primitives within calls to
+        `BeginDrawing` and `EndDrawing`.
+        """
+        return _gdi_.PseudoDC_BeginDrawing(*args, **kwargs)
+
+    def EndDrawing(*args, **kwargs):
+        """
+        EndDrawing(self)
+
+        Ends the group of drawing primitives started with `BeginDrawing`, and
+        invokes whatever optimization is available for this DC type on the
+        current platform.
+        """
+        return _gdi_.PseudoDC_EndDrawing(*args, **kwargs)
+
+    __swig_destroy__ = _gdi_.delete_PseudoDC
+    __del__ = lambda self : None;
+    def RemoveAll(*args, **kwargs):
+        """
+        RemoveAll(self)
+
+        Removes all objects and operations from the recorded list.
+        """
+        return _gdi_.PseudoDC_RemoveAll(*args, **kwargs)
+
+    def GetLen(*args, **kwargs):
+        """
+        GetLen(self) -> int
+
+        Returns the number of operations in the recorded list.
+        """
+        return _gdi_.PseudoDC_GetLen(*args, **kwargs)
+
+    def SetId(*args, **kwargs):
+        """
+        SetId(self, int id)
+
+        Sets the id to be associated with subsequent operations.
+        """
+        return _gdi_.PseudoDC_SetId(*args, **kwargs)
+
+    def ClearId(*args, **kwargs):
+        """
+        ClearId(self, int id)
+
+        Removes all operations associated with id so the object can be redrawn.
+        """
+        return _gdi_.PseudoDC_ClearId(*args, **kwargs)
+
+    def RemoveId(*args, **kwargs):
+        """
+        RemoveId(self, int id)
+
+        Remove the object node (and all operations) associated with an id.
+        """
+        return _gdi_.PseudoDC_RemoveId(*args, **kwargs)
+
+    def TranslateId(*args, **kwargs):
+        """
+        TranslateId(self, int id, int dx, int dy)
+
+        Translate the operations of id by dx,dy.
+        """
+        return _gdi_.PseudoDC_TranslateId(*args, **kwargs)
+
+    def DrawIdToDC(*args, **kwargs):
+        """
+        DrawIdToDC(self, int id, DC dc)
+
+        Draw recorded operations of id to dc.
+        """
+        return _gdi_.PseudoDC_DrawIdToDC(*args, **kwargs)
+
+    def SetIdBounds(*args, **kwargs):
+        """
+        SetIdBounds(self, int id, Rect rect)
+
+        Set the bounding rect of a given object.  This will create 
+        an object node if one doesn't exist.
+        """
+        return _gdi_.PseudoDC_SetIdBounds(*args, **kwargs)
+
+    def GetIdBounds(*args, **kwargs):
+        """
+        GetIdBounds(self, int id) -> Rect
+
+        Returns the bounding rectangle previouly set with SetIdBounds.  If
+        no bounds have been set, it returns wx.Rect(0,0,0,0).
+        """
+        return _gdi_.PseudoDC_GetIdBounds(*args, **kwargs)
+
+    def DrawToDCClipped(*args, **kwargs):
+        """
+        DrawToDCClipped(self, DC dc, Rect rect)
+
+        Draws the recorded operations to dc unless the operation is known to
+        be outside rect.
+        """
+        return _gdi_.PseudoDC_DrawToDCClipped(*args, **kwargs)
+
+    def DrawToDCClippedRgn(*args, **kwargs):
+        """
+        DrawToDCClippedRgn(self, DC dc, Region region)
+
+        Draws the recorded operations to dc unless the operation is known to
+        be outside rect.
+        """
+        return _gdi_.PseudoDC_DrawToDCClippedRgn(*args, **kwargs)
+
+    def DrawToDC(*args, **kwargs):
+        """
+        DrawToDC(self, DC dc)
+
+        Draws the recorded operations to dc.
+        """
+        return _gdi_.PseudoDC_DrawToDC(*args, **kwargs)
+
+    def FloodFill(*args, **kwargs):
+        """
+        FloodFill(self, int x, int y, Colour col, int style=FLOOD_SURFACE)
+
+        Flood fills the device context starting from the given point, using
+        the current brush colour, and using a style:
+
+            - **wxFLOOD_SURFACE**: the flooding occurs until a colour other than
+              the given colour is encountered.
+
+            - **wxFLOOD_BORDER**: the area to be flooded is bounded by the given
+              colour.
+
+        Returns False if the operation failed.
+
+        Note: The present implementation for non-Windows platforms may fail to
+        find colour borders if the pixels do not match the colour
+        exactly. However the function will still return true.
+        """
+        return _gdi_.PseudoDC_FloodFill(*args, **kwargs)
+
+    def FloodFillPoint(*args, **kwargs):
+        """
+        FloodFillPoint(self, Point pt, Colour col, int style=FLOOD_SURFACE)
+
+        Flood fills the device context starting from the given point, using
+        the current brush colour, and using a style:
+
+            - **wxFLOOD_SURFACE**: the flooding occurs until a colour other than
+              the given colour is encountered.
+
+            - **wxFLOOD_BORDER**: the area to be flooded is bounded by the given
+              colour.
+
+        Returns False if the operation failed.
+
+        Note: The present implementation for non-Windows platforms may fail to
+        find colour borders if the pixels do not match the colour
+        exactly. However the function will still return true.
+        """
+        return _gdi_.PseudoDC_FloodFillPoint(*args, **kwargs)
+
+    def DrawLine(*args, **kwargs):
+        """
+        DrawLine(self, int x1, int y1, int x2, int y2)
+
+        Draws a line from the first point to the second. The current pen is
+        used for drawing the line. Note that the second point is *not* part of
+        the line and is not drawn by this function (this is consistent with
+        the behaviour of many other toolkits).
+        """
+        return _gdi_.PseudoDC_DrawLine(*args, **kwargs)
+
+    def DrawLinePoint(*args, **kwargs):
+        """
+        DrawLinePoint(self, Point pt1, Point pt2)
+
+        Draws a line from the first point to the second. The current pen is
+        used for drawing the line. Note that the second point is *not* part of
+        the line and is not drawn by this function (this is consistent with
+        the behaviour of many other toolkits).
+        """
+        return _gdi_.PseudoDC_DrawLinePoint(*args, **kwargs)
+
+    def CrossHair(*args, **kwargs):
+        """
+        CrossHair(self, int x, int y)
+
+        Displays a cross hair using the current pen. This is a vertical and
+        horizontal line the height and width of the window, centred on the
+        given point.
+        """
+        return _gdi_.PseudoDC_CrossHair(*args, **kwargs)
+
+    def CrossHairPoint(*args, **kwargs):
+        """
+        CrossHairPoint(self, Point pt)
+
+        Displays a cross hair using the current pen. This is a vertical and
+        horizontal line the height and width of the window, centred on the
+        given point.
+        """
+        return _gdi_.PseudoDC_CrossHairPoint(*args, **kwargs)
+
+    def DrawArc(*args, **kwargs):
+        """
+        DrawArc(self, int x1, int y1, int x2, int y2, int xc, int yc)
+
+        Draws an arc of a circle, centred on the *center* point (xc, yc), from
+        the first point to the second. The current pen is used for the outline
+        and the current brush for filling the shape.
+
+        The arc is drawn in an anticlockwise direction from the start point to
+        the end point.
+        """
+        return _gdi_.PseudoDC_DrawArc(*args, **kwargs)
+
+    def DrawArcPoint(*args, **kwargs):
+        """
+        DrawArcPoint(self, Point pt1, Point pt2, Point center)
+
+        Draws an arc of a circle, centred on the *center* point (xc, yc), from
+        the first point to the second. The current pen is used for the outline
+        and the current brush for filling the shape.
+
+        The arc is drawn in an anticlockwise direction from the start point to
+        the end point.
+        """
+        return _gdi_.PseudoDC_DrawArcPoint(*args, **kwargs)
+
+    def DrawCheckMark(*args, **kwargs):
+        """
+        DrawCheckMark(self, int x, int y, int width, int height)
+
+        Draws a check mark inside the given rectangle.
+        """
+        return _gdi_.PseudoDC_DrawCheckMark(*args, **kwargs)
+
+    def DrawCheckMarkRect(*args, **kwargs):
+        """
+        DrawCheckMarkRect(self, Rect rect)
+
+        Draws a check mark inside the given rectangle.
+        """
+        return _gdi_.PseudoDC_DrawCheckMarkRect(*args, **kwargs)
+
+    def DrawEllipticArc(*args, **kwargs):
+        """
+        DrawEllipticArc(self, int x, int y, int w, int h, double start, double end)
+
+        Draws an arc of an ellipse, with the given rectangle defining the
+        bounds of the ellipse. The current pen is used for drawing the arc and
+        the current brush is used for drawing the pie.
+
+        The *start* and *end* parameters specify the start and end of the arc
+        relative to the three-o'clock position from the center of the
+        rectangle. Angles are specified in degrees (360 is a complete
+        circle). Positive values mean counter-clockwise motion. If start is
+        equal to end, a complete ellipse will be drawn.
+        """
+        return _gdi_.PseudoDC_DrawEllipticArc(*args, **kwargs)
+
+    def DrawEllipticArcPointSize(*args, **kwargs):
+        """
+        DrawEllipticArcPointSize(self, Point pt, Size sz, double start, double end)
+
+        Draws an arc of an ellipse, with the given rectangle defining the
+        bounds of the ellipse. The current pen is used for drawing the arc and
+        the current brush is used for drawing the pie.
+
+        The *start* and *end* parameters specify the start and end of the arc
+        relative to the three-o'clock position from the center of the
+        rectangle. Angles are specified in degrees (360 is a complete
+        circle). Positive values mean counter-clockwise motion. If start is
+        equal to end, a complete ellipse will be drawn.
+        """
+        return _gdi_.PseudoDC_DrawEllipticArcPointSize(*args, **kwargs)
+
+    def DrawPoint(*args, **kwargs):
+        """
+        DrawPoint(self, int x, int y)
+
+        Draws a point using the current pen.
+        """
+        return _gdi_.PseudoDC_DrawPoint(*args, **kwargs)
+
+    def DrawPointPoint(*args, **kwargs):
+        """
+        DrawPointPoint(self, Point pt)
+
+        Draws a point using the current pen.
+        """
+        return _gdi_.PseudoDC_DrawPointPoint(*args, **kwargs)
+
+    def DrawRectangle(*args, **kwargs):
+        """
+        DrawRectangle(self, int x, int y, int width, int height)
+
+        Draws a rectangle with the given top left corner, and with the given
+        size. The current pen is used for the outline and the current brush
+        for filling the shape.
+        """
+        return _gdi_.PseudoDC_DrawRectangle(*args, **kwargs)
+
+    def DrawRectangleRect(*args, **kwargs):
+        """
+        DrawRectangleRect(self, Rect rect)
+
+        Draws a rectangle with the given top left corner, and with the given
+        size. The current pen is used for the outline and the current brush
+        for filling the shape.
+        """
+        return _gdi_.PseudoDC_DrawRectangleRect(*args, **kwargs)
+
+    def DrawRectanglePointSize(*args, **kwargs):
+        """
+        DrawRectanglePointSize(self, Point pt, Size sz)
+
+        Draws a rectangle with the given top left corner, and with the given
+        size. The current pen is used for the outline and the current brush
+        for filling the shape.
+        """
+        return _gdi_.PseudoDC_DrawRectanglePointSize(*args, **kwargs)
+
+    def DrawRoundedRectangle(*args, **kwargs):
+        """
+        DrawRoundedRectangle(self, int x, int y, int width, int height, double radius)
+
+        Draws a rectangle with the given top left corner, and with the given
+        size. The corners are quarter-circles using the given radius. The
+        current pen is used for the outline and the current brush for filling
+        the shape.
+
+        If radius is positive, the value is assumed to be the radius of the
+        rounded corner. If radius is negative, the absolute value is assumed
+        to be the proportion of the smallest dimension of the rectangle. This
+        means that the corner can be a sensible size relative to the size of
+        the rectangle, and also avoids the strange effects X produces when the
+        corners are too big for the rectangle.
+        """
+        return _gdi_.PseudoDC_DrawRoundedRectangle(*args, **kwargs)
+
+    def DrawRoundedRectangleRect(*args, **kwargs):
+        """
+        DrawRoundedRectangleRect(self, Rect r, double radius)
+
+        Draws a rectangle with the given top left corner, and with the given
+        size. The corners are quarter-circles using the given radius. The
+        current pen is used for the outline and the current brush for filling
+        the shape.
+
+        If radius is positive, the value is assumed to be the radius of the
+        rounded corner. If radius is negative, the absolute value is assumed
+        to be the proportion of the smallest dimension of the rectangle. This
+        means that the corner can be a sensible size relative to the size of
+        the rectangle, and also avoids the strange effects X produces when the
+        corners are too big for the rectangle.
+        """
+        return _gdi_.PseudoDC_DrawRoundedRectangleRect(*args, **kwargs)
+
+    def DrawRoundedRectanglePointSize(*args, **kwargs):
+        """
+        DrawRoundedRectanglePointSize(self, Point pt, Size sz, double radius)
+
+        Draws a rectangle with the given top left corner, and with the given
+        size. The corners are quarter-circles using the given radius. The
+        current pen is used for the outline and the current brush for filling
+        the shape.
+
+        If radius is positive, the value is assumed to be the radius of the
+        rounded corner. If radius is negative, the absolute value is assumed
+        to be the proportion of the smallest dimension of the rectangle. This
+        means that the corner can be a sensible size relative to the size of
+        the rectangle, and also avoids the strange effects X produces when the
+        corners are too big for the rectangle.
+        """
+        return _gdi_.PseudoDC_DrawRoundedRectanglePointSize(*args, **kwargs)
+
+    def DrawCircle(*args, **kwargs):
+        """
+        DrawCircle(self, int x, int y, int radius)
+
+        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.
+        """
+        return _gdi_.PseudoDC_DrawCircle(*args, **kwargs)
+
+    def DrawCirclePoint(*args, **kwargs):
+        """
+        DrawCirclePoint(self, Point pt, int radius)
+
+        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.
+        """
+        return _gdi_.PseudoDC_DrawCirclePoint(*args, **kwargs)
+
+    def DrawEllipse(*args, **kwargs):
+        """
+        DrawEllipse(self, int x, int y, int width, int height)
+
+        Draws an ellipse contained in the specified rectangle. The current pen
+        is used for the outline and the current brush for filling the shape.
+        """
+        return _gdi_.PseudoDC_DrawEllipse(*args, **kwargs)
+
+    def DrawEllipseRect(*args, **kwargs):
+        """
+        DrawEllipseRect(self, Rect rect)
+
+        Draws an ellipse contained in the specified rectangle. The current pen
+        is used for the outline and the current brush for filling the shape.
+        """
+        return _gdi_.PseudoDC_DrawEllipseRect(*args, **kwargs)
+
+    def DrawEllipsePointSize(*args, **kwargs):
+        """
+        DrawEllipsePointSize(self, Point pt, Size sz)
+
+        Draws an ellipse contained in the specified rectangle. The current pen
+        is used for the outline and the current brush for filling the shape.
+        """
+        return _gdi_.PseudoDC_DrawEllipsePointSize(*args, **kwargs)
+
+    def DrawIcon(*args, **kwargs):
+        """
+        DrawIcon(self, Icon icon, int x, int y)
+
+        Draw an icon on the display (does nothing if the device context is
+        PostScript). This can be the simplest way of drawing bitmaps on a
+        window.
+        """
+        return _gdi_.PseudoDC_DrawIcon(*args, **kwargs)
+
+    def DrawIconPoint(*args, **kwargs):
+        """
+        DrawIconPoint(self, Icon icon, Point pt)
+
+        Draw an icon on the display (does nothing if the device context is
+        PostScript). This can be the simplest way of drawing bitmaps on a
+        window.
+        """
+        return _gdi_.PseudoDC_DrawIconPoint(*args, **kwargs)
+
+    def DrawBitmap(*args, **kwargs):
+        """
+        DrawBitmap(self, Bitmap bmp, int x, int y, bool useMask=False)
+
+        Draw a bitmap on the device context at the specified point. If
+        *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.
+        """
+        return _gdi_.PseudoDC_DrawBitmap(*args, **kwargs)
+
+    def DrawBitmapPoint(*args, **kwargs):
+        """
+        DrawBitmapPoint(self, Bitmap bmp, Point pt, bool useMask=False)
+
+        Draw a bitmap on the device context at the specified point. If
+        *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.
+        """
+        return _gdi_.PseudoDC_DrawBitmapPoint(*args, **kwargs)
+
+    def DrawText(*args, **kwargs):
+        """
+        DrawText(self, String text, int x, int y)
+
+        Draws a text string at the specified point, using the current text
+        font, and the current text foreground and background colours.
+
+        The coordinates refer to the top-left corner of the rectangle bounding
+        the string. See `wx.DC.GetTextExtent` for how to get the dimensions of
+        a text string, which can be used to position the text more precisely,
+        (you will need to use a real DC with GetTextExtent as wx.PseudoDC does
+        not implement it.)
+
+        **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.
+        """
+        return _gdi_.PseudoDC_DrawText(*args, **kwargs)
+
+    def DrawTextPoint(*args, **kwargs):
+        """
+        DrawTextPoint(self, String text, Point pt)
+
+        Draws a text string at the specified point, using the current text
+        font, and the current text foreground and background colours.
+
+        The coordinates refer to the top-left corner of the rectangle bounding
+        the string. See `wx.DC.GetTextExtent` for how to get the dimensions of
+        a text string, which can be used to position the text more precisely,
+        (you will need to use a real DC with GetTextExtent as wx.PseudoDC does
+        not implement it.)
+
+        **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.
+        """
+        return _gdi_.PseudoDC_DrawTextPoint(*args, **kwargs)
+
+    def DrawRotatedText(*args, **kwargs):
+        """
+        DrawRotatedText(self, String text, int x, int y, double angle)
+
+        Draws the text rotated by *angle* degrees, if supported by the platform.
+
+        **NOTE**: Under Win9x only TrueType fonts can be drawn by this
+        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.
+        """
+        return _gdi_.PseudoDC_DrawRotatedText(*args, **kwargs)
+
+    def DrawRotatedTextPoint(*args, **kwargs):
+        """
+        DrawRotatedTextPoint(self, String text, Point pt, double angle)
+
+        Draws the text rotated by *angle* degrees, if supported by the platform.
+
+        **NOTE**: Under Win9x only TrueType fonts can be drawn by this
+        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.
+        """
+        return _gdi_.PseudoDC_DrawRotatedTextPoint(*args, **kwargs)
+
+    def DrawLines(*args, **kwargs):
+        """
+        DrawLines(self, List points, int xoffset=0, int yoffset=0)
+
+        Draws lines using a sequence of `wx.Point` objects, adding the
+        optional offset coordinate. The current pen is used for drawing the
+        lines.
+        """
+        return _gdi_.PseudoDC_DrawLines(*args, **kwargs)
+
+    def DrawPolygon(*args, **kwargs):
+        """
+        DrawPolygon(self, List points, int xoffset=0, int yoffset=0,
+            int fillStyle=ODDEVEN_RULE)
+
+        Draws a filled polygon using a sequence of `wx.Point` objects, adding
+        the optional offset coordinate.  The last argument specifies the fill
+        rule: ``wx.ODDEVEN_RULE`` (the default) or ``wx.WINDING_RULE``.
+
+        The current pen is used for drawing the outline, and the current brush
+        for filling the shape. Using a transparent brush suppresses
+        filling. Note that wxWidgets automatically closes the first and last
+        points.
+        """
+        return _gdi_.PseudoDC_DrawPolygon(*args, **kwargs)
+
+    def DrawLabel(*args, **kwargs):
+        """
+        DrawLabel(self, String text, Rect rect, int alignment=wxALIGN_LEFT|wxALIGN_TOP, 
+            int indexAccel=-1)
+
+        Draw *text* within the specified rectangle, abiding by the alignment
+        flags.  Will additionally emphasize the character at *indexAccel* if
+        it is not -1.
+        """
+        return _gdi_.PseudoDC_DrawLabel(*args, **kwargs)
+
+    def DrawImageLabel(*args, **kwargs):
+        """
+        DrawImageLabel(self, String text, Bitmap image, Rect rect, int alignment=wxALIGN_LEFT|wxALIGN_TOP, 
+            int indexAccel=-1)
+
+        Draw *text* and an image (which may be ``wx.NullBitmap`` to skip
+        drawing it) within the specified rectangle, abiding by the alignment
+        flags.  Will additionally emphasize the character at *indexAccel* if
+        it is not -1.
+        """
+        return _gdi_.PseudoDC_DrawImageLabel(*args, **kwargs)
+
+    def DrawSpline(*args, **kwargs):
+        """
+        DrawSpline(self, List points)
+
+        Draws a spline between all given control points, (a list of `wx.Point`
+        objects) using the current pen. The spline is drawn using a series of
+        lines, using an algorithm taken from the X drawing program 'XFIG'.
+        """
+        return _gdi_.PseudoDC_DrawSpline(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """
+        Clear(self)
+
+        Clears the device context using the current background brush.
+        """
+        return _gdi_.PseudoDC_Clear(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """
+        SetFont(self, Font font)
+
+        Sets the current font for the DC. It must be a valid font, in
+        particular you should not pass ``wx.NullFont`` to this method.
+        """
+        return _gdi_.PseudoDC_SetFont(*args, **kwargs)
+
+    def SetPen(*args, **kwargs):
+        """
+        SetPen(self, Pen pen)
+
+        Sets the current pen for the DC.
+
+        If the argument is ``wx.NullPen``, the current pen is selected out of the
+        device context, and the original pen restored.
+        """
+        return _gdi_.PseudoDC_SetPen(*args, **kwargs)
+
+    def SetBrush(*args, **kwargs):
+        """
+        SetBrush(self, Brush brush)
+
+        Sets the current brush for the DC.
+
+        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.
+        """
+        return _gdi_.PseudoDC_SetBrush(*args, **kwargs)
+
+    def SetBackground(*args, **kwargs):
+        """
+        SetBackground(self, Brush brush)
+
+        Sets the current background brush for the DC.
+        """
+        return _gdi_.PseudoDC_SetBackground(*args, **kwargs)
+
+    def SetBackgroundMode(*args, **kwargs):
+        """
+        SetBackgroundMode(self, int mode)
+
+        *mode* may be one of ``wx.SOLID`` and ``wx.TRANSPARENT``. This setting
+        determines whether text will be drawn with a background colour or
+        not.
+        """
+        return _gdi_.PseudoDC_SetBackgroundMode(*args, **kwargs)
+
+    def SetPalette(*args, **kwargs):
+        """
+        SetPalette(self, Palette palette)
+
+        If this is a window DC or memory DC, assigns the given palette to the
+        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.
+        """
+        return _gdi_.PseudoDC_SetPalette(*args, **kwargs)
+
+    def SetTextForeground(*args, **kwargs):
+        """
+        SetTextForeground(self, Colour colour)
+
+        Sets the current text foreground colour for the DC.
+        """
+        return _gdi_.PseudoDC_SetTextForeground(*args, **kwargs)
+
+    def SetTextBackground(*args, **kwargs):
+        """
+        SetTextBackground(self, Colour colour)
+
+        Sets the current text background colour for the DC.
+        """
+        return _gdi_.PseudoDC_SetTextBackground(*args, **kwargs)
+
+    def SetLogicalFunction(*args, **kwargs):
+        """
+        SetLogicalFunction(self, int function)
+
+        Sets the current logical function for the device context. This
+        determines how a source pixel (from a pen or brush colour, combines
+        with a destination pixel in the current device context.
+
+        The possible values and their meaning in terms of source and
+        destination pixel values are as follows:
+
+            ================       ==========================
+            wx.AND                 src AND dst
+            wx.AND_INVERT          (NOT src) AND dst
+            wx.AND_REVERSE         src AND (NOT dst)
+            wx.CLEAR               0
+            wx.COPY                src
+            wx.EQUIV               (NOT src) XOR dst
+            wx.INVERT              NOT dst
+            wx.NAND                (NOT src) OR (NOT dst)
+            wx.NOR                 (NOT src) AND (NOT dst)
+            wx.NO_OP               dst
+            wx.OR                  src OR dst
+            wx.OR_INVERT           (NOT src) OR dst
+            wx.OR_REVERSE          src OR (NOT dst)
+            wx.SET                 1
+            wx.SRC_INVERT          NOT src
+            wx.XOR                 src XOR dst
+            ================       ==========================
+
+        The default is wx.COPY, which simply draws with the current
+        colour. The others combine the current colour and the background using
+        a logical operation. wx.INVERT is commonly used for drawing rubber
+        bands or moving outlines, since drawing twice reverts to the original
+        colour.
+
+        """
+        return _gdi_.PseudoDC_SetLogicalFunction(*args, **kwargs)
+
+_gdi_.PseudoDC_swigregister(PseudoDC)