]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/mac/_gdi.py
protect gs_allThreads with a mutex (modified patch 1518719)
[wxWidgets.git] / wxPython / src / mac / _gdi.py
index c0ede485dd39bb15ee013658e596dd82800bed22..5e9f246b2fe117a20d3d6b21f65fe7defc462084 100644 (file)
@@ -146,15 +146,16 @@ class Colour(_core.Object):
         """
         return _gdi_.Colour_Alpha(*args, **kwargs)
 
         """
         return _gdi_.Colour_Alpha(*args, **kwargs)
 
-    def Ok(*args, **kwargs):
+    def IsOk(*args, **kwargs):
         """
         """
-        Ok(self) -> bool
+        IsOk(self) -> bool
 
         Returns True if the colour object is valid (the colour has been
         initialised with RGB values).
         """
 
         Returns True if the colour object is valid (the colour has been
         initialised with RGB values).
         """
-        return _gdi_.Colour_Ok(*args, **kwargs)
+        return _gdi_.Colour_IsOk(*args, **kwargs)
 
 
+    Ok = IsOk 
     def Set(*args, **kwargs):
         """
         Set(self, byte red, byte green, byte blue, byte alpha=ALPHA_OPAQUE)
     def Set(*args, **kwargs):
         """
         Set(self, byte red, byte green, byte blue, byte alpha=ALPHA_OPAQUE)
@@ -239,7 +240,9 @@ class Colour(_core.Object):
     asTuple = wx._deprecated(Get, "asTuple is deprecated, use `Get` instead")
     def __str__(self):                  return str(self.Get(True))
     def __repr__(self):                 return 'wx.Colour' + str(self.Get(True))
     asTuple = wx._deprecated(Get, "asTuple is deprecated, use `Get` instead")
     def __str__(self):                  return str(self.Get(True))
     def __repr__(self):                 return 'wx.Colour' + str(self.Get(True))
-    def __nonzero__(self):              return self.Ok()
+    def __len__(self):                  return len(self.Get())
+    def __getitem__(self, index):       return self.Get()[index]
+    def __nonzero__(self):              return self.IsOk()
     __safe_for_unpickling__ = True
     def __reduce__(self):               return (Colour, self.Get(True))
 
     __safe_for_unpickling__ = True
     def __reduce__(self):               return (Colour, self.Get(True))
 
@@ -291,11 +294,12 @@ class Palette(GDIObject):
         """GetColoursCount(self) -> int"""
         return _gdi_.Palette_GetColoursCount(*args, **kwargs)
 
         """GetColoursCount(self) -> int"""
         return _gdi_.Palette_GetColoursCount(*args, **kwargs)
 
-    def Ok(*args, **kwargs):
-        """Ok(self) -> bool"""
-        return _gdi_.Palette_Ok(*args, **kwargs)
+    def IsOk(*args, **kwargs):
+        """IsOk(self) -> bool"""
+        return _gdi_.Palette_IsOk(*args, **kwargs)
 
 
-    def __nonzero__(self): return self.Ok() 
+    Ok = IsOk 
+    def __nonzero__(self): return self.IsOk() 
     ColoursCount = property(GetColoursCount,doc="See `GetColoursCount`") 
 _gdi_.Palette_swigregister(Palette)
 
     ColoursCount = property(GetColoursCount,doc="See `GetColoursCount`") 
 _gdi_.Palette_swigregister(Palette)
 
@@ -330,10 +334,11 @@ class Pen(GDIObject):
         """GetWidth(self) -> int"""
         return _gdi_.Pen_GetWidth(*args, **kwargs)
 
         """GetWidth(self) -> int"""
         return _gdi_.Pen_GetWidth(*args, **kwargs)
 
-    def Ok(*args, **kwargs):
-        """Ok(self) -> bool"""
-        return _gdi_.Pen_Ok(*args, **kwargs)
+    def IsOk(*args, **kwargs):
+        """IsOk(self) -> bool"""
+        return _gdi_.Pen_IsOk(*args, **kwargs)
 
 
+    Ok = IsOk 
     def SetCap(*args, **kwargs):
         """SetCap(self, int cap_style)"""
         return _gdi_.Pen_SetCap(*args, **kwargs)
     def SetCap(*args, **kwargs):
         """SetCap(self, int cap_style)"""
         return _gdi_.Pen_SetCap(*args, **kwargs)
@@ -380,7 +385,7 @@ class Pen(GDIObject):
         """__ne__(self, Pen other) -> bool"""
         return _gdi_.Pen___ne__(*args, **kwargs)
 
         """__ne__(self, Pen other) -> bool"""
         return _gdi_.Pen___ne__(*args, **kwargs)
 
-    def __nonzero__(self): return self.Ok() 
+    def __nonzero__(self): return self.IsOk() 
     Cap = property(GetCap,SetCap,doc="See `GetCap` and `SetCap`") 
     Colour = property(GetColour,SetColour,doc="See `GetColour` and `SetColour`") 
     Dashes = property(GetDashes,SetDashes,doc="See `GetDashes` and `SetDashes`") 
     Cap = property(GetCap,SetCap,doc="See `GetCap` and `SetCap`") 
     Colour = property(GetColour,SetColour,doc="See `GetColour` and `SetColour`") 
     Dashes = property(GetDashes,SetDashes,doc="See `GetDashes` and `SetDashes`") 
@@ -467,14 +472,15 @@ class Brush(GDIObject):
         """
         return _gdi_.Brush_IsHatch(*args, **kwargs)
 
         """
         return _gdi_.Brush_IsHatch(*args, **kwargs)
 
-    def Ok(*args, **kwargs):
+    def IsOk(*args, **kwargs):
         """
         """
-        Ok(self) -> bool
+        IsOk(self) -> bool
 
         Returns True if the brush is initialised and valid.
         """
 
         Returns True if the brush is initialised and valid.
         """
-        return _gdi_.Brush_Ok(*args, **kwargs)
+        return _gdi_.Brush_IsOk(*args, **kwargs)
 
 
+    Ok = IsOk 
     def MacGetTheme(*args, **kwargs):
         """MacGetTheme(self) -> short"""
         return _gdi_.Brush_MacGetTheme(*args, **kwargs)
     def MacGetTheme(*args, **kwargs):
         """MacGetTheme(self) -> short"""
         return _gdi_.Brush_MacGetTheme(*args, **kwargs)
@@ -483,7 +489,7 @@ class Brush(GDIObject):
         """MacSetTheme(self, short macThemeBrush)"""
         return _gdi_.Brush_MacSetTheme(*args, **kwargs)
 
         """MacSetTheme(self, short macThemeBrush)"""
         return _gdi_.Brush_MacSetTheme(*args, **kwargs)
 
-    def __nonzero__(self): return self.Ok() 
+    def __nonzero__(self): return self.IsOk() 
     Colour = property(GetColour,SetColour,doc="See `GetColour` and `SetColour`") 
     Stipple = property(GetStipple,SetStipple,doc="See `GetStipple` and `SetStipple`") 
     Style = property(GetStyle,SetStyle,doc="See `GetStyle` and `SetStyle`") 
     Colour = property(GetColour,SetColour,doc="See `GetColour` and `SetColour`") 
     Stipple = property(GetStipple,SetStipple,doc="See `GetStipple` and `SetStipple`") 
     Style = property(GetStyle,SetStyle,doc="See `GetStyle` and `SetStyle`") 
@@ -518,10 +524,11 @@ class Bitmap(GDIObject):
         _gdi_.Bitmap_swiginit(self,_gdi_.new_Bitmap(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Bitmap
     __del__ = lambda self : None;
         _gdi_.Bitmap_swiginit(self,_gdi_.new_Bitmap(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Bitmap
     __del__ = lambda self : None;
-    def Ok(*args, **kwargs):
-        """Ok(self) -> bool"""
-        return _gdi_.Bitmap_Ok(*args, **kwargs)
+    def IsOk(*args, **kwargs):
+        """IsOk(self) -> bool"""
+        return _gdi_.Bitmap_IsOk(*args, **kwargs)
 
 
+    Ok = IsOk 
     def GetWidth(*args, **kwargs):
         """
         GetWidth(self) -> int
     def GetWidth(*args, **kwargs):
         """
         GetWidth(self) -> int
@@ -664,7 +671,7 @@ class Bitmap(GDIObject):
         """
         return _gdi_.Bitmap_SetSize(*args, **kwargs)
 
         """
         return _gdi_.Bitmap_SetSize(*args, **kwargs)
 
-    def __nonzero__(self): return self.Ok() 
+    def __nonzero__(self): return self.IsOk() 
     def __eq__(*args, **kwargs):
         """__eq__(self, Bitmap other) -> bool"""
         return _gdi_.Bitmap___eq__(*args, **kwargs)
     def __eq__(*args, **kwargs):
         """__eq__(self, Bitmap other) -> bool"""
         return _gdi_.Bitmap___eq__(*args, **kwargs)
@@ -1102,10 +1109,11 @@ class Icon(GDIObject):
         _gdi_.Icon_swiginit(self,_gdi_.new_Icon(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Icon
     __del__ = lambda self : None;
         _gdi_.Icon_swiginit(self,_gdi_.new_Icon(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Icon
     __del__ = lambda self : None;
-    def Ok(*args, **kwargs):
-        """Ok(self) -> bool"""
-        return _gdi_.Icon_Ok(*args, **kwargs)
+    def IsOk(*args, **kwargs):
+        """IsOk(self) -> bool"""
+        return _gdi_.Icon_IsOk(*args, **kwargs)
 
 
+    Ok = IsOk 
     def GetWidth(*args, **kwargs):
         """GetWidth(self) -> int"""
         return _gdi_.Icon_GetWidth(*args, **kwargs)
     def GetWidth(*args, **kwargs):
         """GetWidth(self) -> int"""
         return _gdi_.Icon_GetWidth(*args, **kwargs)
@@ -1134,7 +1142,7 @@ class Icon(GDIObject):
         """CopyFromBitmap(self, Bitmap bmp)"""
         return _gdi_.Icon_CopyFromBitmap(*args, **kwargs)
 
         """CopyFromBitmap(self, Bitmap bmp)"""
         return _gdi_.Icon_CopyFromBitmap(*args, **kwargs)
 
-    def __nonzero__(self): return self.Ok() 
+    def __nonzero__(self): return self.IsOk() 
     Depth = property(GetDepth,SetDepth,doc="See `GetDepth` and `SetDepth`") 
     Height = property(GetHeight,SetHeight,doc="See `GetHeight` and `SetHeight`") 
     Width = property(GetWidth,SetWidth,doc="See `GetWidth` and `SetWidth`") 
     Depth = property(GetDepth,SetDepth,doc="See `GetDepth` and `SetDepth`") 
     Height = property(GetHeight,SetHeight,doc="See `GetHeight` and `SetHeight`") 
     Width = property(GetWidth,SetWidth,doc="See `GetWidth` and `SetWidth`") 
@@ -1173,7 +1181,7 @@ class IconLocation(object):
         """IsOk(self) -> bool"""
         return _gdi_.IconLocation_IsOk(*args, **kwargs)
 
         """IsOk(self) -> bool"""
         return _gdi_.IconLocation_IsOk(*args, **kwargs)
 
-    def __nonzero__(self): return self.Ok() 
+    def __nonzero__(self): return self.IsOk() 
     def SetFileName(*args, **kwargs):
         """SetFileName(self, String filename)"""
         return _gdi_.IconLocation_SetFileName(*args, **kwargs)
     def SetFileName(*args, **kwargs):
         """SetFileName(self, String filename)"""
         return _gdi_.IconLocation_SetFileName(*args, **kwargs)
@@ -1253,11 +1261,12 @@ class Cursor(GDIObject):
         _gdi_.Cursor_swiginit(self,_gdi_.new_Cursor(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Cursor
     __del__ = lambda self : None;
         _gdi_.Cursor_swiginit(self,_gdi_.new_Cursor(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Cursor
     __del__ = lambda self : None;
-    def Ok(*args, **kwargs):
-        """Ok(self) -> bool"""
-        return _gdi_.Cursor_Ok(*args, **kwargs)
+    def IsOk(*args, **kwargs):
+        """IsOk(self) -> bool"""
+        return _gdi_.Cursor_IsOk(*args, **kwargs)
 
 
-    def __nonzero__(self): return self.Ok() 
+    Ok = IsOk 
+    def __nonzero__(self): return self.IsOk() 
 _gdi_.Cursor_swigregister(Cursor)
 
 def StockCursor(*args, **kwargs):
 _gdi_.Cursor_swigregister(Cursor)
 
 def StockCursor(*args, **kwargs):
@@ -1338,6 +1347,10 @@ class Region(GDIObject):
         """IsEmpty(self) -> bool"""
         return _gdi_.Region_IsEmpty(*args, **kwargs)
 
         """IsEmpty(self) -> bool"""
         return _gdi_.Region_IsEmpty(*args, **kwargs)
 
+    def IsEqual(*args, **kwargs):
+        """IsEqual(self, Region region) -> bool"""
+        return _gdi_.Region_IsEqual(*args, **kwargs)
+
     def Union(*args, **kwargs):
         """Union(self, int x, int y, int width, int height) -> bool"""
         return _gdi_.Region_Union(*args, **kwargs)
     def Union(*args, **kwargs):
         """Union(self, int x, int y, int width, int height) -> bool"""
         return _gdi_.Region_Union(*args, **kwargs)
@@ -1886,15 +1899,16 @@ class Font(GDIObject):
         _gdi_.Font_swiginit(self,_gdi_.new_Font(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Font
     __del__ = lambda self : None;
         _gdi_.Font_swiginit(self,_gdi_.new_Font(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_Font
     __del__ = lambda self : None;
-    def Ok(*args, **kwargs):
+    def IsOk(*args, **kwargs):
         """
         """
-        Ok(self) -> bool
+        IsOk(self) -> bool
 
         Returns ``True`` if this font was successfully created.
         """
 
         Returns ``True`` if this font was successfully created.
         """
-        return _gdi_.Font_Ok(*args, **kwargs)
+        return _gdi_.Font_IsOk(*args, **kwargs)
 
 
-    def __nonzero__(self): return self.Ok() 
+    Ok = IsOk 
+    def __nonzero__(self): return self.IsOk() 
     def __eq__(*args, **kwargs):
         """__eq__(self, Font other) -> bool"""
         return _gdi_.Font___eq__(*args, **kwargs)
     def __eq__(*args, **kwargs):
         """__eq__(self, Font other) -> bool"""
         return _gdi_.Font___eq__(*args, **kwargs)
@@ -2846,7 +2860,7 @@ def EncodingConverter_CanConvert(*args, **kwargs):
 # to the default catalog path.
 if wx.Platform == "__WXMSW__":
     import os
 # to the default catalog path.
 if wx.Platform == "__WXMSW__":
     import os
-    _localedir = os.path.join(os.path.split(__file__)[0], "i18n")
+    _localedir = os.path.join(os.path.split(__file__)[0], "locale")
     Locale.AddCatalogLookupPathPrefix(_localedir)
     del os
 
     Locale.AddCatalogLookupPathPrefix(_localedir)
     del os
 
@@ -3817,14 +3831,15 @@ class DC(_core.Object):
         """
         return _gdi_.DC_GetPPI(*args, **kwargs)
 
         """
         return _gdi_.DC_GetPPI(*args, **kwargs)
 
-    def Ok(*args, **kwargs):
+    def IsOk(*args, **kwargs):
         """
         """
-        Ok(self) -> bool
+        IsOk(self) -> bool
 
         Returns true if the DC is ok to use.
         """
 
         Returns true if the DC is ok to use.
         """
-        return _gdi_.DC_Ok(*args, **kwargs)
+        return _gdi_.DC_IsOk(*args, **kwargs)
 
 
+    Ok = IsOk 
     def GetBackgroundMode(*args, **kwargs):
         """
         GetBackgroundMode(self) -> int
     def GetBackgroundMode(*args, **kwargs):
         """
         GetBackgroundMode(self) -> int
@@ -4127,7 +4142,27 @@ class DC(_core.Object):
         """
         return _gdi_.DC_GetBoundingBox(*args, **kwargs)
 
         """
         return _gdi_.DC_GetBoundingBox(*args, **kwargs)
 
-    def __nonzero__(self): return self.Ok() 
+    def __nonzero__(self): return self.IsOk() 
+    def GetLayoutDirection(*args, **kwargs):
+        """
+        GetLayoutDirection(self) -> int
+
+        Get the layout direction (LTR or RTL)_ for this dc.  On platforms
+        where RTL layout is supported, the return value will either be
+        ``wx.Layout_LeftToRight`` or ``wx.Layout_RightToLeft``.
+        ``wx.Layout_Default`` is returned if layout direction is not
+        supported.
+        """
+        return _gdi_.DC_GetLayoutDirection(*args, **kwargs)
+
+    def SetLayoutDirection(*args, **kwargs):
+        """
+        SetLayoutDirection(self, int dir)
+
+        Change the layout direction for this dc.
+        """
+        return _gdi_.DC_SetLayoutDirection(*args, **kwargs)
+
     def _DrawPointList(*args, **kwargs):
         """_DrawPointList(self, PyObject pyCoords, PyObject pyPens, PyObject pyBrushes) -> PyObject"""
         return _gdi_.DC__DrawPointList(*args, **kwargs)
     def _DrawPointList(*args, **kwargs):
         """_DrawPointList(self, PyObject pyCoords, PyObject pyPens, PyObject pyBrushes) -> PyObject"""
         return _gdi_.DC__DrawPointList(*args, **kwargs)
@@ -4342,6 +4377,7 @@ class DC(_core.Object):
     TextExtent = property(GetTextExtent,doc="See `GetTextExtent`") 
     TextForeground = property(GetTextForeground,SetTextForeground,doc="See `GetTextForeground` and `SetTextForeground`") 
     UserScale = property(GetUserScale,SetUserScale,doc="See `GetUserScale` and `SetUserScale`") 
     TextExtent = property(GetTextExtent,doc="See `GetTextExtent`") 
     TextForeground = property(GetTextForeground,SetTextForeground,doc="See `GetTextForeground` and `SetTextForeground`") 
     UserScale = property(GetUserScale,SetUserScale,doc="See `GetUserScale` and `SetUserScale`") 
+    LayoutDirection = property(GetLayoutDirection,SetLayoutDirection) 
 _gdi_.DC_swigregister(DC)
 
 #---------------------------------------------------------------------------
 _gdi_.DC_swigregister(DC)
 
 #---------------------------------------------------------------------------
@@ -4406,7 +4442,7 @@ def MemoryDCFromDC(*args, **kwargs):
 
 BUFFER_VIRTUAL_AREA = _gdi_.BUFFER_VIRTUAL_AREA
 BUFFER_CLIENT_AREA = _gdi_.BUFFER_CLIENT_AREA
 
 BUFFER_VIRTUAL_AREA = _gdi_.BUFFER_VIRTUAL_AREA
 BUFFER_CLIENT_AREA = _gdi_.BUFFER_CLIENT_AREA
-class BufferedDC(MemoryDC):
+class BufferedDC(DC):
     """
     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
     """
     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
@@ -4429,6 +4465,7 @@ class BufferedDC(MemoryDC):
         """
         __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
         """
         __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
+        __init__(self, Window win, DC dc, Size area, int style=BUFFER_CLIENT_AREA) -> BufferedDC
 
         Constructs a buffered DC.
         """
 
         Constructs a buffered DC.
         """
@@ -4469,8 +4506,6 @@ class BufferedPaintDC(BufferedDC):
 
 
 
 
 
 
-
-
     """
     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
@@ -4482,8 +4517,6 @@ class BufferedPaintDC(BufferedDC):
         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).
         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)
         """
         _gdi_.BufferedPaintDC_swiginit(self,_gdi_.new_BufferedPaintDC(*args, **kwargs))
 _gdi_.BufferedPaintDC_swigregister(BufferedPaintDC)
@@ -4554,7 +4587,27 @@ _gdi_.ScreenDC_swigregister(ScreenDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-class ClientDC(DC):
+class WindowDC(DC):
+    """
+    A wx.WindowDC must be constructed if an application wishes to paint on
+    the whole area of a window (client and decorations). This should
+    normally be constructed as a temporary stack object; don't store a
+    wx.WindowDC object.
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window win) -> WindowDC
+
+        Constructor. Pass the window on which you wish to paint.
+        """
+        _gdi_.WindowDC_swiginit(self,_gdi_.new_WindowDC(*args, **kwargs))
+_gdi_.WindowDC_swigregister(WindowDC)
+
+#---------------------------------------------------------------------------
+
+class ClientDC(WindowDC):
     """
     A wx.ClientDC must be constructed if an application wishes to paint on
     the client area of a window from outside an EVT_PAINT event. This should
     """
     A wx.ClientDC must be constructed if an application wishes to paint on
     the client area of a window from outside an EVT_PAINT event. This should
@@ -4581,7 +4634,7 @@ _gdi_.ClientDC_swigregister(ClientDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-class PaintDC(DC):
+class PaintDC(ClientDC):
     """
     A wx.PaintDC must be constructed if an application wishes to paint on
     the client area of a window from within an EVT_PAINT event
     """
     A wx.PaintDC must be constructed if an application wishes to paint on
     the client area of a window from within an EVT_PAINT event
@@ -4611,23 +4664,18 @@ _gdi_.PaintDC_swigregister(PaintDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-class WindowDC(DC):
+if 'wxMac' in wx.PlatformInfo or 'gtk2' in wx.PlatformInfo:
+    _AutoBufferedPaintDCBase = PaintDC
+else:
+    _AutoBufferedPaintDCBase = BufferedPaintDC
+        
+class AutoBufferedPaintDC(_AutoBufferedPaintDCBase):
     """
     """
-    A wx.WindowDC must be constructed if an application wishes to paint on
-    the whole area of a window (client and decorations). This should
-    normally be constructed as a temporary stack object; don't store a
-    wx.WindowDC object.
+    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`.
     """
     """
-    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
-    __repr__ = _swig_repr
-    def __init__(self, *args, **kwargs): 
-        """
-        __init__(self, Window win) -> WindowDC
-
-        Constructor. Pass the window on which you wish to paint.
-        """
-        _gdi_.WindowDC_swiginit(self,_gdi_.new_WindowDC(*args, **kwargs))
-_gdi_.WindowDC_swigregister(WindowDC)
+    def __init__(self, window):
+        _AutoBufferedPaintDCBase.__init__(self, window)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4725,10 +4773,11 @@ class MetaFile(_core.Object):
         _gdi_.MetaFile_swiginit(self,_gdi_.new_MetaFile(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_MetaFile
     __del__ = lambda self : None;
         _gdi_.MetaFile_swiginit(self,_gdi_.new_MetaFile(*args, **kwargs))
     __swig_destroy__ = _gdi_.delete_MetaFile
     __del__ = lambda self : None;
-    def Ok(*args, **kwargs):
-        """Ok(self) -> bool"""
-        return _gdi_.MetaFile_Ok(*args, **kwargs)
+    def IsOk(*args, **kwargs):
+        """IsOk(self) -> bool"""
+        return _gdi_.MetaFile_IsOk(*args, **kwargs)
 
 
+    Ok = IsOk 
     def SetClipboard(*args, **kwargs):
         """SetClipboard(self, int width=0, int height=0) -> bool"""
         return _gdi_.MetaFile_SetClipboard(*args, **kwargs)
     def SetClipboard(*args, **kwargs):
         """SetClipboard(self, int width=0, int height=0) -> bool"""
         return _gdi_.MetaFile_SetClipboard(*args, **kwargs)
@@ -4745,7 +4794,7 @@ class MetaFile(_core.Object):
         """GetHeight(self) -> int"""
         return _gdi_.MetaFile_GetHeight(*args, **kwargs)
 
         """GetHeight(self) -> int"""
         return _gdi_.MetaFile_GetHeight(*args, **kwargs)
 
-    def __nonzero__(self): return self.Ok() 
+    def __nonzero__(self): return self.IsOk() 
 _gdi_.MetaFile_swigregister(MetaFile)
 
 class MetaFileDC(DC):
 _gdi_.MetaFile_swigregister(MetaFile)
 
 class MetaFileDC(DC):
@@ -4775,6 +4824,298 @@ _gdi_.PrinterDC_swigregister(PrinterDC)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
+class GraphicsPath(object):
+    """Proxy of C++ GraphicsPath class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    __swig_destroy__ = _gdi_.delete_GraphicsPath
+    __del__ = lambda self : None;
+    def MoveToPoint(*args, **kwargs):
+        """
+        MoveToPoint(self, Double x, Double y)
+
+        Begins a new subpath at (x,y)
+        """
+        return _gdi_.GraphicsPath_MoveToPoint(*args, **kwargs)
+
+    def AddLineToPoint(*args, **kwargs):
+        """
+        AddLineToPoint(self, Double x, Double y)
+
+        Adds a straight line from the current point to (x,y) 
+        """
+        return _gdi_.GraphicsPath_AddLineToPoint(*args, **kwargs)
+
+    def AddCurveToPoint(*args, **kwargs):
+        """
+        AddCurveToPoint(self, Double cx1, Double cy1, Double cx2, Double cy2, Double x, 
+            Double y)
+
+        Adds a cubic Bezier curve from the current point, using two control
+        points and an end point
+        """
+        return _gdi_.GraphicsPath_AddCurveToPoint(*args, **kwargs)
+
+    def CloseSubpath(*args, **kwargs):
+        """
+        CloseSubpath(self)
+
+        closes the current sub-path
+        """
+        return _gdi_.GraphicsPath_CloseSubpath(*args, **kwargs)
+
+    def GetCurrentPoint(*args, **kwargs):
+        """
+        GetCurrentPoint(self) -> Point2D
+
+        Gets the last point of the current path, (0,0) if not yet set
+        """
+        return _gdi_.GraphicsPath_GetCurrentPoint(*args, **kwargs)
+
+    def AddArc(*args, **kwargs):
+        """
+        AddArc(self, Double x, Double y, Double r, Double startAngle, Double endAngle, 
+            bool clockwise)
+
+        Adds an arc of a circle centering at (x,y) with radius (r) from
+        startAngle to endAngle
+        """
+        return _gdi_.GraphicsPath_AddArc(*args, **kwargs)
+
+    def AddQuadCurveToPoint(*args, **kwargs):
+        """
+        AddQuadCurveToPoint(self, Double cx, Double cy, Double x, Double y)
+
+        Adds a quadratic Bezier curve from the current point, using a control
+        point and an end point
+        """
+        return _gdi_.GraphicsPath_AddQuadCurveToPoint(*args, **kwargs)
+
+    def AddRectangle(*args, **kwargs):
+        """
+        AddRectangle(self, Double x, Double y, Double w, Double h)
+
+        Appends a rectangle as a new closed subpath
+        """
+        return _gdi_.GraphicsPath_AddRectangle(*args, **kwargs)
+
+    def AddCircle(*args, **kwargs):
+        """
+        AddCircle(self, Double x, Double y, Double r)
+
+        Appends a circle as a new closed subpath with the given radius.
+        """
+        return _gdi_.GraphicsPath_AddCircle(*args, **kwargs)
+
+    def AddArcToPoint(*args, **kwargs):
+        """
+        AddArcToPoint(self, Double x1, Double y1, Double x2, Double y2, Double r)
+
+        Draws a an arc to two tangents connecting (current) to (x1,y1) and (x1,y1)
+        to (x2,y2), also a straight line from (current) to (x1,y1)
+        """
+        return _gdi_.GraphicsPath_AddArcToPoint(*args, **kwargs)
+
+_gdi_.GraphicsPath_swigregister(GraphicsPath)
+
+class GraphicsContext(object):
+    """Proxy of C++ GraphicsContext class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    __swig_destroy__ = _gdi_.delete_GraphicsContext
+    __del__ = lambda self : None;
+    def Create(*args, **kwargs):
+        """Create(WindowDC dc) -> GraphicsContext"""
+        val = _gdi_.GraphicsContext_Create(*args, **kwargs)
+        val.__dc = args[0] # save a ref so the other dc will not be deleted before self
+        return val
+
+    Create = staticmethod(Create)
+    def CreatePath(*args, **kwargs):
+        """CreatePath(self) -> GraphicsPath"""
+        return _gdi_.GraphicsContext_CreatePath(*args, **kwargs)
+
+    def PushState(*args, **kwargs):
+        """PushState(self)"""
+        return _gdi_.GraphicsContext_PushState(*args, **kwargs)
+
+    def PopState(*args, **kwargs):
+        """PopState(self)"""
+        return _gdi_.GraphicsContext_PopState(*args, **kwargs)
+
+    def Clip(*args, **kwargs):
+        """Clip(self, Region region)"""
+        return _gdi_.GraphicsContext_Clip(*args, **kwargs)
+
+    def Translate(*args, **kwargs):
+        """Translate(self, Double dx, Double dy)"""
+        return _gdi_.GraphicsContext_Translate(*args, **kwargs)
+
+    def Scale(*args, **kwargs):
+        """Scale(self, Double xScale, Double yScale)"""
+        return _gdi_.GraphicsContext_Scale(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """Rotate(self, Double angle)"""
+        return _gdi_.GraphicsContext_Rotate(*args, **kwargs)
+
+    def SetPen(*args, **kwargs):
+        """SetPen(self, Pen pen)"""
+        return _gdi_.GraphicsContext_SetPen(*args, **kwargs)
+
+    def SetBrush(*args, **kwargs):
+        """SetBrush(self, Brush brush)"""
+        return _gdi_.GraphicsContext_SetBrush(*args, **kwargs)
+
+    def SetLinearGradientBrush(*args, **kwargs):
+        """
+        SetLinearGradientBrush(self, Double x1, Double y1, Double x2, Double y2, Colour c1, 
+            Colour c2)
+        """
+        return _gdi_.GraphicsContext_SetLinearGradientBrush(*args, **kwargs)
+
+    def SetRadialGradientBrush(*args, **kwargs):
+        """
+        SetRadialGradientBrush(self, Double xo, Double yo, Double xc, Double yc, Double radius, 
+            Colour oColor, Colour cColor)
+        """
+        return _gdi_.GraphicsContext_SetRadialGradientBrush(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(self, Font font)"""
+        return _gdi_.GraphicsContext_SetFont(*args, **kwargs)
+
+    def SetTextColor(*args, **kwargs):
+        """SetTextColor(self, Colour col)"""
+        return _gdi_.GraphicsContext_SetTextColor(*args, **kwargs)
+
+    def StrokePath(*args, **kwargs):
+        """StrokePath(self, GraphicsPath path)"""
+        return _gdi_.GraphicsContext_StrokePath(*args, **kwargs)
+
+    def FillPath(*args, **kwargs):
+        """FillPath(self, GraphicsPath path, int fillStyle=WINDING_RULE)"""
+        return _gdi_.GraphicsContext_FillPath(*args, **kwargs)
+
+    def DrawPath(*args, **kwargs):
+        """DrawPath(self, GraphicsPath path, int fillStyle=WINDING_RULE)"""
+        return _gdi_.GraphicsContext_DrawPath(*args, **kwargs)
+
+    def DrawText(*args, **kwargs):
+        """DrawText(self, String str, Double x, Double y)"""
+        return _gdi_.GraphicsContext_DrawText(*args, **kwargs)
+
+    def DrawRotatedText(*args, **kwargs):
+        """DrawRotatedText(self, String str, Double x, Double y, Double angle)"""
+        return _gdi_.GraphicsContext_DrawRotatedText(*args, **kwargs)
+
+    def GetTextExtent(*args, **kwargs):
+        """GetTextExtend(self, text) --> (width, height, descent, externalLeading)"""
+        return _gdi_.GraphicsContext_GetTextExtent(*args, **kwargs)
+
+    def GetPartialTextExtents(*args, **kwargs):
+        """GetPartialTextExtents(self, text) -> [widths]"""
+        return _gdi_.GraphicsContext_GetPartialTextExtents(*args, **kwargs)
+
+    def DrawBitmap(*args, **kwargs):
+        """DrawBitmap(self, Bitmap bmp, Double x, Double y, Double w, Double h)"""
+        return _gdi_.GraphicsContext_DrawBitmap(*args, **kwargs)
+
+    def DrawIcon(*args, **kwargs):
+        """DrawIcon(self, Icon icon, Double x, Double y, Double w, Double h)"""
+        return _gdi_.GraphicsContext_DrawIcon(*args, **kwargs)
+
+    def StrokeLine(*args, **kwargs):
+        """StrokeLine(self, Double x1, Double y1, Double x2, Double y2)"""
+        return _gdi_.GraphicsContext_StrokeLine(*args, **kwargs)
+
+    def StrokeLines(*args, **kwargs):
+        """StrokeLines(self, List points)"""
+        return _gdi_.GraphicsContext_StrokeLines(*args, **kwargs)
+
+    def StrokeDisconnectedLines(*args, **kwargs):
+        """StrokeDisconnectedLines(self, PyObject beginPoints, PyObject endPoints)"""
+        return _gdi_.GraphicsContext_StrokeDisconnectedLines(*args, **kwargs)
+
+    def DrawLines(*args, **kwargs):
+        """DrawLines(self, size_t points, int fillStyle=WINDING_RULE)"""
+        return _gdi_.GraphicsContext_DrawLines(*args, **kwargs)
+
+    def DrawRectangle(*args, **kwargs):
+        """DrawRectangle(self, Double x, Double y, Double w, Double h)"""
+        return _gdi_.GraphicsContext_DrawRectangle(*args, **kwargs)
+
+    def DrawEllipse(*args, **kwargs):
+        """DrawEllipse(self, Double x, Double y, Double w, Double h)"""
+        return _gdi_.GraphicsContext_DrawEllipse(*args, **kwargs)
+
+    def DrawRoundedRectangle(*args, **kwargs):
+        """DrawRoundedRectangle(self, Double x, Double y, Double w, Double h, Double radius)"""
+        return _gdi_.GraphicsContext_DrawRoundedRectangle(*args, **kwargs)
+
+_gdi_.GraphicsContext_swigregister(GraphicsContext)
+
+def GraphicsContext_Create(*args, **kwargs):
+  """GraphicsContext_Create(WindowDC dc) -> GraphicsContext"""
+  val = _gdi_.GraphicsContext_Create(*args, **kwargs)
+  val.__dc = args[0] # save a ref so the other dc will not be deleted before self
+  return val
+
+class GCDC(DC):
+    """Proxy of C++ GCDC class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self, WindowDC dc) -> GCDC"""
+        _gdi_.GCDC_swiginit(self,_gdi_.new_GCDC(*args, **kwargs))
+        self.__dc = args[0] # save a ref so the other dc will not be deleted before self
+
+    __swig_destroy__ = _gdi_.delete_GCDC
+    __del__ = lambda self : None;
+    def GetGraphicContext(*args, **kwargs):
+        """GetGraphicContext(self) -> GraphicsContext"""
+        return _gdi_.GCDC_GetGraphicContext(*args, **kwargs)
+
+_gdi_.GCDC_swigregister(GCDC)
+
+class Overlay(object):
+    """Proxy of C++ Overlay class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self) -> Overlay"""
+        _gdi_.Overlay_swiginit(self,_gdi_.new_Overlay(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_Overlay
+    __del__ = lambda self : None;
+    def Reset(*args, **kwargs):
+        """Reset(self)"""
+        return _gdi_.Overlay_Reset(*args, **kwargs)
+
+_gdi_.Overlay_swigregister(Overlay)
+
+class DCOverlay(object):
+    """Proxy of C++ DCOverlay class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args): 
+        """
+        __init__(self, Overlay overlay, WindowDC dc, int x, int y, int width, 
+            int height) -> DCOverlay
+        __init__(self, Overlay overlay, WindowDC dc) -> DCOverlay
+        """
+        _gdi_.DCOverlay_swiginit(self,_gdi_.new_DCOverlay(*args))
+    __swig_destroy__ = _gdi_.delete_DCOverlay
+    __del__ = lambda self : None;
+    def Clear(*args, **kwargs):
+        """Clear(self)"""
+        return _gdi_.DCOverlay_Clear(*args, **kwargs)
+
+_gdi_.DCOverlay_swigregister(DCOverlay)
+
+#---------------------------------------------------------------------------
+
 IMAGELIST_DRAW_NORMAL = _gdi_.IMAGELIST_DRAW_NORMAL
 IMAGELIST_DRAW_TRANSPARENT = _gdi_.IMAGELIST_DRAW_TRANSPARENT
 IMAGELIST_DRAW_SELECTED = _gdi_.IMAGELIST_DRAW_SELECTED
 IMAGELIST_DRAW_NORMAL = _gdi_.IMAGELIST_DRAW_NORMAL
 IMAGELIST_DRAW_TRANSPARENT = _gdi_.IMAGELIST_DRAW_TRANSPARENT
 IMAGELIST_DRAW_SELECTED = _gdi_.IMAGELIST_DRAW_SELECTED
@@ -5704,6 +6045,43 @@ class PseudoDC(_core.Object):
         """
         return _gdi_.PseudoDC_TranslateId(*args, **kwargs)
 
         """
         return _gdi_.PseudoDC_TranslateId(*args, **kwargs)
 
+    def SetIdGreyedOut(*args, **kwargs):
+        """
+        SetIdGreyedOut(self, int id, bool greyout=True)
+
+        Set whether an object is drawn greyed out or not.
+        """
+        return _gdi_.PseudoDC_SetIdGreyedOut(*args, **kwargs)
+
+    def GetIdGreyedOut(*args, **kwargs):
+        """
+        GetIdGreyedOut(self, int id) -> bool
+
+        Get whether an object is drawn greyed out or not.
+        """
+        return _gdi_.PseudoDC_GetIdGreyedOut(*args, **kwargs)
+
+    def FindObjects(*args, **kwargs):
+        """
+        FindObjects(self, int x, int y, int radius=1, wxColor bg=*wxWHITE) -> PyObject
+
+        Returns a list of all the id's that draw a pixel with color
+        not equal to bg within radius of (x,y).
+        Returns an empty list if nothing is found.  The list is in
+        reverse drawing order so list[0] is the top id.
+        """
+        return _gdi_.PseudoDC_FindObjects(*args, **kwargs)
+
+    def FindObjectsByBBox(*args, **kwargs):
+        """
+        FindObjectsByBBox(self, int x, int y) -> PyObject
+
+        Returns a list of all the id's whose bounding boxes include (x,y).
+        Returns an empty list if nothing is found.  The list is in
+        reverse drawing order so list[0] is the top id.
+        """
+        return _gdi_.PseudoDC_FindObjectsByBBox(*args, **kwargs)
+
     def DrawIdToDC(*args, **kwargs):
         """
         DrawIdToDC(self, int id, DC dc)
     def DrawIdToDC(*args, **kwargs):
         """
         DrawIdToDC(self, int id, DC dc)