]> 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 d54219b4b12a6a9700c6a2515a4ce1e8d8ae78d9..5e9f246b2fe117a20d3d6b21f65fe7defc462084 100644 (file)
@@ -146,15 +146,16 @@ class Colour(_core.Object):
         """
         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).
         """
-        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)
@@ -239,10 +240,14 @@ 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))
-    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))
 
+    Pixel = property(GetPixel,doc="See `GetPixel`") 
+    RGB = property(GetRGB,SetRGB,doc="See `GetRGB` and `SetRGB`") 
 _gdi_.Colour_swigregister(Colour)
 
 def NamedColour(*args, **kwargs):
@@ -289,11 +294,13 @@ class Palette(GDIObject):
         """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)
 
 #---------------------------------------------------------------------------
@@ -327,10 +334,11 @@ class Pen(GDIObject):
         """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)
@@ -377,7 +385,13 @@ class Pen(GDIObject):
         """__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`") 
+    Join = property(GetJoin,SetJoin,doc="See `GetJoin` and `SetJoin`") 
+    Style = property(GetStyle,SetStyle,doc="See `GetStyle` and `SetStyle`") 
+    Width = property(GetWidth,SetWidth,doc="See `GetWidth` and `SetWidth`") 
 _gdi_.Pen_swigregister(Pen)
 
 #---------------------------------------------------------------------------
@@ -458,14 +472,15 @@ class Brush(GDIObject):
         """
         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.
         """
-        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)
@@ -474,7 +489,10 @@ class Brush(GDIObject):
         """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`") 
 _gdi_.Brush_swigregister(Brush)
 
 def BrushFromBitmap(*args, **kwargs):
@@ -506,10 +524,11 @@ class Bitmap(GDIObject):
         _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
@@ -652,7 +671,7 @@ class Bitmap(GDIObject):
         """
         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)
@@ -661,6 +680,13 @@ class Bitmap(GDIObject):
         """__ne__(self, Bitmap other) -> bool"""
         return _gdi_.Bitmap___ne__(*args, **kwargs)
 
+    Depth = property(GetDepth,SetDepth,doc="See `GetDepth` and `SetDepth`") 
+    Height = property(GetHeight,SetHeight,doc="See `GetHeight` and `SetHeight`") 
+    Mask = property(GetMask,SetMask,doc="See `GetMask` and `SetMask`") 
+    Palette = property(GetPalette,doc="See `GetPalette`") 
+    Size = property(GetSize,SetSize,doc="See `GetSize` and `SetSize`") 
+    SubBitmap = property(GetSubBitmap,doc="See `GetSubBitmap`") 
+    Width = property(GetWidth,SetWidth,doc="See `GetWidth` and `SetWidth`") 
 _gdi_.Bitmap_swigregister(Bitmap)
 
 def EmptyBitmap(*args, **kwargs):
@@ -805,6 +831,11 @@ class PixelDataBase(object):
         """GetRowStride(self) -> int"""
         return _gdi_.PixelDataBase_GetRowStride(*args, **kwargs)
 
+    Height = property(GetHeight,doc="See `GetHeight`") 
+    Origin = property(GetOrigin,doc="See `GetOrigin`") 
+    RowStride = property(GetRowStride,doc="See `GetRowStride`") 
+    Size = property(GetSize,doc="See `GetSize`") 
+    Width = property(GetWidth,doc="See `GetWidth`") 
 _gdi_.PixelDataBase_swigregister(PixelDataBase)
 
 class NativePixelData(PixelDataBase):
@@ -833,53 +864,41 @@ class NativePixelData(PixelDataBase):
         return _gdi_.NativePixelData___nonzero__(*args, **kwargs)
 
     def __iter__(self):
-        """Create and return an iterator object for this pixel data object."""
-        return self.PixelIterator(self)
-
-    class PixelIterator(object):
-        """
-        Sequential iterator which returns pixel accessor objects starting at the
-        the top-left corner, and going row-by-row until the bottom-right
-        corner is reached.
-        """
-
-        class PixelAccessor(object):
-            """
-            This class is what is returned by the iterator and allows the pixel
-            to be Get or Set.
-            """
-            def __init__(self, data, pixels, x, y):
-                self.data = data
-                self.pixels = pixels
-                self.x = x
-                self.y = y
-            def Set(self, *args, **kw):
-                self.pixels.MoveTo(self.data, self.x, self.y)
-                return self.pixels.Set(*args, **kw)
+        """
+        Create and return an iterator object for this pixel data
+        object.  (It's really a generator but I won't tell if you
+        don't tell.)
+        """
+        width  = self.GetWidth()
+        height = self.GetHeight()
+        pixels = self.GetPixels()
+        
+
+
+
+        class PixelFacade(object):
             def Get(self):
-                self.pixels.MoveTo(self.data, self.x, self.y)
-                return self.pixels.Get()
-
-        def __init__(self, pixelData):
-            self.x = self.y = 0
-            self.w = pixelData.GetWidth()
-            self.h = pixelData.GetHeight()
-            self.data = pixelData
-            self.pixels = pixelData.GetPixels()
-
-        def __iter__(self):
-            return self
-
-        def next(self):
-            if self.y >= self.h:
-                raise StopIteration
-            p = self.PixelAccessor(self.data, self.pixels, self.x, self.y)
-            self.x += 1
-            if self.x >= self.w:
-                self.x = 0
-                self.y += 1
-            return p
+                return pixels.Get()
+            def Set(self, *args, **kw):
+                return pixels.Set(*args, **kw)
+            def __str__(self):
+                return str(self.Get())
+            def __repr__(self):
+                return 'pixel(%d,%d): %s' % (x,y,self.Get())
+            X = property(lambda self: x)
+            Y = property(lambda self: y)
+            
+        pf = PixelFacade()        
+        for y in xrange(height):
+            for x in xrange(width):
+
 
+
+                yield pf    
+                pixels.nextPixel()
+            pixels.MoveTo(self, 0, y)
+
+    Pixels = property(GetPixels,doc="See `GetPixels`") 
 _gdi_.NativePixelData_swigregister(NativePixelData)
 
 class NativePixelData_Accessor(object):
@@ -961,53 +980,41 @@ class AlphaPixelData(PixelDataBase):
         return _gdi_.AlphaPixelData___nonzero__(*args, **kwargs)
 
     def __iter__(self):
-        """Create and return an iterator object for this pixel data object."""
-        return self.PixelIterator(self)
-
-    class PixelIterator(object):
-        """
-        Sequential iterator which returns pixel accessor objects starting at the
-        the top-left corner, and going row-by-row until the bottom-right
-        corner is reached.
-        """
-
-        class PixelAccessor(object):
-            """
-            This class is what is returned by the iterator and allows the pixel
-            to be Get or Set.
-            """
-            def __init__(self, data, pixels, x, y):
-                self.data = data
-                self.pixels = pixels
-                self.x = x
-                self.y = y
-            def Set(self, *args, **kw):
-                self.pixels.MoveTo(self.data, self.x, self.y)
-                return self.pixels.Set(*args, **kw)
+        """
+        Create and return an iterator object for this pixel data
+        object.  (It's really a generator but I won't tell if you
+        don't tell.)
+        """
+        width  = self.GetWidth()
+        height = self.GetHeight()
+        pixels = self.GetPixels()
+        
+
+
+
+        class PixelFacade(object):
             def Get(self):
-                self.pixels.MoveTo(self.data, self.x, self.y)
-                return self.pixels.Get()
-
-        def __init__(self, pixelData):
-            self.x = self.y = 0
-            self.w = pixelData.GetWidth()
-            self.h = pixelData.GetHeight()
-            self.data = pixelData
-            self.pixels = pixelData.GetPixels()
-
-        def __iter__(self):
-            return self
-
-        def next(self):
-            if self.y >= self.h:
-                raise StopIteration
-            p = self.PixelAccessor(self.data, self.pixels, self.x, self.y)
-            self.x += 1
-            if self.x >= self.w:
-                self.x = 0
-                self.y += 1
-            return p
+                return pixels.Get()
+            def Set(self, *args, **kw):
+                return pixels.Set(*args, **kw)
+            def __str__(self):
+                return str(self.Get())
+            def __repr__(self):
+                return 'pixel(%d,%d): %s' % (x,y,self.Get())
+            X = property(lambda self: x)
+            Y = property(lambda self: y)
+            
+        pf = PixelFacade()        
+        for y in xrange(height):
+            for x in xrange(width):
+
+
 
+                yield pf    
+                pixels.nextPixel()
+            pixels.MoveTo(self, 0, y)
+
+    Pixels = property(GetPixels,doc="See `GetPixels`") 
 _gdi_.AlphaPixelData_swigregister(AlphaPixelData)
 
 class AlphaPixelData_Accessor(object):
@@ -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;
-    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)
@@ -1134,7 +1142,10 @@ class Icon(GDIObject):
         """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`") 
 _gdi_.Icon_swigregister(Icon)
 
 def EmptyIcon(*args, **kwargs):
@@ -1170,7 +1181,7 @@ class IconLocation(object):
         """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)
@@ -1187,6 +1198,8 @@ class IconLocation(object):
         """GetIndex(self) -> int"""
         return _gdi_.IconLocation_GetIndex(*args, **kwargs)
 
+    FileName = property(GetFileName,SetFileName,doc="See `GetFileName` and `SetFileName`") 
+    Index = property(GetIndex,SetIndex,doc="See `GetIndex` and `SetIndex`") 
 _gdi_.IconLocation_swigregister(IconLocation)
 
 class IconBundle(object):
@@ -1210,6 +1223,7 @@ class IconBundle(object):
         """GetIcon(self, Size size) -> Icon"""
         return _gdi_.IconBundle_GetIcon(*args, **kwargs)
 
+    Icon = property(GetIcon,doc="See `GetIcon`") 
 _gdi_.IconBundle_swigregister(IconBundle)
 
 def IconBundleFromFile(*args, **kwargs):
@@ -1247,11 +1261,12 @@ class Cursor(GDIObject):
         _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):
@@ -1332,6 +1347,10 @@ class Region(GDIObject):
         """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)
@@ -1380,6 +1399,7 @@ class Region(GDIObject):
         """UnionBitmapColour(self, Bitmap bmp, Colour transColour, int tolerance=0) -> bool"""
         return _gdi_.Region_UnionBitmapColour(*args, **kwargs)
 
+    Box = property(GetBox,doc="See `GetBox`") 
 _gdi_.Region_swigregister(Region)
 
 def RegionFromBitmap(*args, **kwargs):
@@ -1450,6 +1470,13 @@ class RegionIterator(_core.Object):
         """__nonzero__(self) -> bool"""
         return _gdi_.RegionIterator___nonzero__(*args, **kwargs)
 
+    H = property(GetH,doc="See `GetH`") 
+    Height = property(GetHeight,doc="See `GetHeight`") 
+    Rect = property(GetRect,doc="See `GetRect`") 
+    W = property(GetW,doc="See `GetW`") 
+    Width = property(GetWidth,doc="See `GetWidth`") 
+    X = property(GetX,doc="See `GetX`") 
+    Y = property(GetY,doc="See `GetY`") 
 _gdi_.RegionIterator_swigregister(RegionIterator)
 
 #---------------------------------------------------------------------------
@@ -1673,6 +1700,13 @@ class NativeFontInfo(object):
         """ToUserString(self) -> String"""
         return _gdi_.NativeFontInfo_ToUserString(*args, **kwargs)
 
+    Encoding = property(GetEncoding,SetEncoding,doc="See `GetEncoding` and `SetEncoding`") 
+    FaceName = property(GetFaceName,SetFaceName,doc="See `GetFaceName` and `SetFaceName`") 
+    Family = property(GetFamily,SetFamily,doc="See `GetFamily` and `SetFamily`") 
+    PointSize = property(GetPointSize,SetPointSize,doc="See `GetPointSize` and `SetPointSize`") 
+    Style = property(GetStyle,SetStyle,doc="See `GetStyle` and `SetStyle`") 
+    Underlined = property(GetUnderlined,SetUnderlined,doc="See `GetUnderlined` and `SetUnderlined`") 
+    Weight = property(GetWeight,SetWeight,doc="See `GetWeight` and `SetWeight`") 
 _gdi_.NativeFontInfo_swigregister(NativeFontInfo)
 
 class NativeEncodingInfo(object):
@@ -1779,6 +1813,7 @@ class FontMapper(object):
         """SetDialogTitle(self, String title)"""
         return _gdi_.FontMapper_SetDialogTitle(*args, **kwargs)
 
+    AltForEncoding = property(GetAltForEncoding,doc="See `GetAltForEncoding`") 
 _gdi_.FontMapper_swigregister(FontMapper)
 
 def FontMapper_Get(*args):
@@ -1864,15 +1899,16 @@ class Font(GDIObject):
         _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.
         """
-        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)
@@ -2139,6 +2175,21 @@ class Font(GDIObject):
         return _gdi_.Font_SetDefaultEncoding(*args, **kwargs)
 
     SetDefaultEncoding = staticmethod(SetDefaultEncoding)
+    Encoding = property(GetEncoding,SetEncoding,doc="See `GetEncoding` and `SetEncoding`") 
+    FaceName = property(GetFaceName,SetFaceName,doc="See `GetFaceName` and `SetFaceName`") 
+    Family = property(GetFamily,SetFamily,doc="See `GetFamily` and `SetFamily`") 
+    FamilyString = property(GetFamilyString,doc="See `GetFamilyString`") 
+    NativeFontInfo = property(GetNativeFontInfo,SetNativeFontInfo,doc="See `GetNativeFontInfo` and `SetNativeFontInfo`") 
+    NativeFontInfoDesc = property(GetNativeFontInfoDesc,doc="See `GetNativeFontInfoDesc`") 
+    NativeFontInfoUserDesc = property(GetNativeFontInfoUserDesc,SetNativeFontInfoUserDesc,doc="See `GetNativeFontInfoUserDesc` and `SetNativeFontInfoUserDesc`") 
+    NoAntiAliasing = property(GetNoAntiAliasing,SetNoAntiAliasing,doc="See `GetNoAntiAliasing` and `SetNoAntiAliasing`") 
+    PixelSize = property(GetPixelSize,SetPixelSize,doc="See `GetPixelSize` and `SetPixelSize`") 
+    PointSize = property(GetPointSize,SetPointSize,doc="See `GetPointSize` and `SetPointSize`") 
+    Style = property(GetStyle,SetStyle,doc="See `GetStyle` and `SetStyle`") 
+    StyleString = property(GetStyleString,doc="See `GetStyleString`") 
+    Underlined = property(GetUnderlined,SetUnderlined,doc="See `GetUnderlined` and `SetUnderlined`") 
+    Weight = property(GetWeight,SetWeight,doc="See `GetWeight` and `SetWeight`") 
+    WeightString = property(GetWeightString,doc="See `GetWeightString`") 
 _gdi_.Font_swigregister(Font)
 
 def FontFromNativeInfo(*args, **kwargs):
@@ -2626,6 +2677,11 @@ class Locale(object):
         """AddCatalog(self, String szDomain) -> bool"""
         return _gdi_.Locale_AddCatalog(*args, **kwargs)
 
+    def IsAvailable(*args, **kwargs):
+        """IsAvailable(int lang) -> bool"""
+        return _gdi_.Locale_IsAvailable(*args, **kwargs)
+
+    IsAvailable = staticmethod(IsAvailable)
     def IsLoaded(*args, **kwargs):
         """IsLoaded(self, String szDomain) -> bool"""
         return _gdi_.Locale_IsLoaded(*args, **kwargs)
@@ -2658,6 +2714,12 @@ class Locale(object):
         """GetName(self) -> String"""
         return _gdi_.Locale_GetName(*args, **kwargs)
 
+    CanonicalName = property(GetCanonicalName,doc="See `GetCanonicalName`") 
+    Language = property(GetLanguage,doc="See `GetLanguage`") 
+    Locale = property(GetLocale,doc="See `GetLocale`") 
+    Name = property(GetName,doc="See `GetName`") 
+    String = property(GetString,doc="See `GetString`") 
+    SysName = property(GetSysName,doc="See `GetSysName`") 
 _gdi_.Locale_swigregister(Locale)
 
 def Locale_GetSystemLanguage(*args):
@@ -2676,6 +2738,10 @@ def Locale_AddCatalogLookupPathPrefix(*args, **kwargs):
   """Locale_AddCatalogLookupPathPrefix(String prefix)"""
   return _gdi_.Locale_AddCatalogLookupPathPrefix(*args, **kwargs)
 
+def Locale_IsAvailable(*args, **kwargs):
+  """Locale_IsAvailable(int lang) -> bool"""
+  return _gdi_.Locale_IsAvailable(*args, **kwargs)
+
 def Locale_GetLanguageInfo(*args, **kwargs):
   """Locale_GetLanguageInfo(int lang) -> LanguageInfo"""
   return _gdi_.Locale_GetLanguageInfo(*args, **kwargs)
@@ -3594,7 +3660,7 @@ class DC(_core.Object):
         GetMultiLineTextExtent(wxString string, Font font=None) ->
            (width, height, lineHeight)
 
-        Get the width, height, decent and leading of the text using the
+        Get the width, height, and line height of the text using the
         current or specified font. Works for single as well as multi-line
         strings.
         """
@@ -3765,14 +3831,15 @@ class DC(_core.Object):
         """
         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.
         """
-        return _gdi_.DC_Ok(*args, **kwargs)
+        return _gdi_.DC_IsOk(*args, **kwargs)
 
+    Ok = IsOk 
     def GetBackgroundMode(*args, **kwargs):
         """
         GetBackgroundMode(self) -> int
@@ -4075,7 +4142,27 @@ class DC(_core.Object):
         """
         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)
@@ -4261,6 +4348,36 @@ class DC(_core.Object):
            raise ValueError('backgrounds and coords must have same length')
         return  self._DrawTextList(textList, coords, foregrounds, backgrounds)
 
+    Background = property(GetBackground,SetBackground,doc="See `GetBackground` and `SetBackground`") 
+    BackgroundMode = property(GetBackgroundMode,SetBackgroundMode,doc="See `GetBackgroundMode` and `SetBackgroundMode`") 
+    BoundingBox = property(GetBoundingBox,doc="See `GetBoundingBox`") 
+    Brush = property(GetBrush,SetBrush,doc="See `GetBrush` and `SetBrush`") 
+    CharHeight = property(GetCharHeight,doc="See `GetCharHeight`") 
+    CharWidth = property(GetCharWidth,doc="See `GetCharWidth`") 
+    ClippingBox = property(GetClippingBox,doc="See `GetClippingBox`") 
+    ClippingRect = property(GetClippingRect,SetClippingRect,doc="See `GetClippingRect` and `SetClippingRect`") 
+    Depth = property(GetDepth,doc="See `GetDepth`") 
+    DeviceOrigin = property(GetDeviceOrigin,SetDeviceOrigin,doc="See `GetDeviceOrigin` and `SetDeviceOrigin`") 
+    Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`") 
+    FullTextExtent = property(GetFullTextExtent,doc="See `GetFullTextExtent`") 
+    LogicalFunction = property(GetLogicalFunction,SetLogicalFunction,doc="See `GetLogicalFunction` and `SetLogicalFunction`") 
+    LogicalOrigin = property(GetLogicalOrigin,SetLogicalOrigin,doc="See `GetLogicalOrigin` and `SetLogicalOrigin`") 
+    LogicalScale = property(GetLogicalScale,SetLogicalScale,doc="See `GetLogicalScale` and `SetLogicalScale`") 
+    MapMode = property(GetMapMode,SetMapMode,doc="See `GetMapMode` and `SetMapMode`") 
+    MultiLineTextExtent = property(GetMultiLineTextExtent,doc="See `GetMultiLineTextExtent`") 
+    Optimization = property(GetOptimization,SetOptimization,doc="See `GetOptimization` and `SetOptimization`") 
+    PPI = property(GetPPI,doc="See `GetPPI`") 
+    PartialTextExtents = property(GetPartialTextExtents,doc="See `GetPartialTextExtents`") 
+    Pen = property(GetPen,SetPen,doc="See `GetPen` and `SetPen`") 
+    Pixel = property(GetPixel,doc="See `GetPixel`") 
+    PixelPoint = property(GetPixelPoint,doc="See `GetPixelPoint`") 
+    Size = property(GetSize,doc="See `GetSize`") 
+    SizeMM = property(GetSizeMM,doc="See `GetSizeMM`") 
+    TextBackground = property(GetTextBackground,SetTextBackground,doc="See `GetTextBackground` and `SetTextBackground`") 
+    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)
 
 #---------------------------------------------------------------------------
@@ -4325,18 +4442,22 @@ def MemoryDCFromDC(*args, **kwargs):
 
 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
     `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
+    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 so using this class on those platforms will normally result
+    in an unneeded level of buffering.
+
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -4344,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, Window win, DC dc, Size area, int style=BUFFER_CLIENT_AREA) -> BufferedDC
 
         Constructs a buffered DC.
         """
@@ -4384,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
@@ -4397,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).
-
-
         """
         _gdi_.BufferedPaintDC_swiginit(self,_gdi_.new_BufferedPaintDC(*args, **kwargs))
 _gdi_.BufferedPaintDC_swigregister(BufferedPaintDC)
@@ -4469,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
@@ -4496,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
@@ -4526,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)
 
 #---------------------------------------------------------------------------
 
@@ -4609,6 +4742,7 @@ class PostScriptDC(DC):
         return _gdi_.PostScriptDC_GetResolution(*args, **kwargs)
 
     GetResolution = staticmethod(GetResolution)
+    PrintData = property(GetPrintData,SetPrintData,doc="See `GetPrintData` and `SetPrintData`") 
 _gdi_.PostScriptDC_swigregister(PostScriptDC)
 
 def PostScriptDC_SetResolution(*args, **kwargs):
@@ -4639,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;
-    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)
@@ -4659,7 +4794,7 @@ class MetaFile(_core.Object):
         """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):
@@ -4689,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
@@ -4752,6 +5179,8 @@ class ImageList(_core.Object):
         """GetSize(index) -> (width,height)"""
         return _gdi_.ImageList_GetSize(*args, **kwargs)
 
+    ImageCount = property(GetImageCount,doc="See `GetImageCount`") 
+    Size = property(GetSize,doc="See `GetSize`") 
 _gdi_.ImageList_swigregister(ImageList)
 
 #---------------------------------------------------------------------------
@@ -5158,6 +5587,11 @@ class Effects(_core.Object):
         """TileBitmap(self, Rect rect, DC dc, Bitmap bitmap) -> bool"""
         return _gdi_.Effects_TileBitmap(*args, **kwargs)
 
+    DarkShadow = property(GetDarkShadow,SetDarkShadow,doc="See `GetDarkShadow` and `SetDarkShadow`") 
+    FaceColour = property(GetFaceColour,SetFaceColour,doc="See `GetFaceColour` and `SetFaceColour`") 
+    HighlightColour = property(GetHighlightColour,SetHighlightColour,doc="See `GetHighlightColour` and `SetHighlightColour`") 
+    LightShadow = property(GetLightShadow,SetLightShadow,doc="See `GetLightShadow` and `SetLightShadow`") 
+    MediumShadow = property(GetMediumShadow,SetMediumShadow,doc="See `GetMediumShadow` and `SetMediumShadow`") 
 _gdi_.Effects_swigregister(Effects)
 
 #---------------------------------------------------------------------------
@@ -5165,9 +5599,11 @@ _gdi_.Effects_swigregister(Effects)
 CONTROL_DISABLED = _gdi_.CONTROL_DISABLED
 CONTROL_FOCUSED = _gdi_.CONTROL_FOCUSED
 CONTROL_PRESSED = _gdi_.CONTROL_PRESSED
+CONTROL_SPECIAL = _gdi_.CONTROL_SPECIAL
 CONTROL_ISDEFAULT = _gdi_.CONTROL_ISDEFAULT
 CONTROL_ISSUBMENU = _gdi_.CONTROL_ISSUBMENU
 CONTROL_EXPANDED = _gdi_.CONTROL_EXPANDED
+CONTROL_SIZEGRIP = _gdi_.CONTROL_SIZEGRIP
 CONTROL_CURRENT = _gdi_.CONTROL_CURRENT
 CONTROL_SELECTED = _gdi_.CONTROL_SELECTED
 CONTROL_CHECKED = _gdi_.CONTROL_CHECKED
@@ -5213,6 +5649,31 @@ class SplitterRenderParams(object):
     isHotSensitive = property(_gdi_.SplitterRenderParams_isHotSensitive_get)
 _gdi_.SplitterRenderParams_swigregister(SplitterRenderParams)
 
+class HeaderButtonParams(object):
+    """Extra (optional) parameters for `wx.RendererNative.DrawHeaderButton`"""
+    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) -> HeaderButtonParams
+
+        Extra (optional) parameters for `wx.RendererNative.DrawHeaderButton`
+        """
+        _gdi_.HeaderButtonParams_swiginit(self,_gdi_.new_HeaderButtonParams(*args, **kwargs))
+    __swig_destroy__ = _gdi_.delete_HeaderButtonParams
+    __del__ = lambda self : None;
+    m_arrowColour = property(_gdi_.HeaderButtonParams_m_arrowColour_get, _gdi_.HeaderButtonParams_m_arrowColour_set)
+    m_selectionColour = property(_gdi_.HeaderButtonParams_m_selectionColour_get, _gdi_.HeaderButtonParams_m_selectionColour_set)
+    m_labelText = property(_gdi_.HeaderButtonParams_m_labelText_get, _gdi_.HeaderButtonParams_m_labelText_set)
+    m_labelFont = property(_gdi_.HeaderButtonParams_m_labelFont_get, _gdi_.HeaderButtonParams_m_labelFont_set)
+    m_labelColour = property(_gdi_.HeaderButtonParams_m_labelColour_get, _gdi_.HeaderButtonParams_m_labelColour_set)
+    m_labelBitmap = property(_gdi_.HeaderButtonParams_m_labelBitmap_get, _gdi_.HeaderButtonParams_m_labelBitmap_set)
+    m_labelAlignment = property(_gdi_.HeaderButtonParams_m_labelAlignment_get, _gdi_.HeaderButtonParams_m_labelAlignment_set)
+_gdi_.HeaderButtonParams_swigregister(HeaderButtonParams)
+
+HDR_SORT_ICON_NONE = _gdi_.HDR_SORT_ICON_NONE
+HDR_SORT_ICON_UP = _gdi_.HDR_SORT_ICON_UP
+HDR_SORT_ICON_DOWN = _gdi_.HDR_SORT_ICON_DOWN
 class RendererVersion(object):
     """
     This simple struct represents the `wx.RendererNative` interface
@@ -5249,11 +5710,12 @@ def 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.
+    One of the design principles of wxWidgets is to use the native
+    widgets on every platform in order to be as close as possible 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
@@ -5271,13 +5733,33 @@ class RendererNative(object):
     __repr__ = _swig_repr
     def DrawHeaderButton(*args, **kwargs):
         """
-        DrawHeaderButton(self, Window win, DC dc, Rect rect, int flags=0)
+        DrawHeaderButton(self, Window win, DC dc, Rect rect, int flags=0, int sortArrow=HDR_SORT_ICON_NONE, 
+            HeaderButtonParams params=None)
 
         Draw the header control button (such as what is used by `wx.ListCtrl`
         in report mode.)
         """
         return _gdi_.RendererNative_DrawHeaderButton(*args, **kwargs)
 
+    def DrawHeaderButtonContents(*args, **kwargs):
+        """
+        DrawHeaderButtonContents(self, Window win, DC dc, Rect rect, int flags=0, int sortArrow=HDR_SORT_ICON_NONE, 
+            HeaderButtonParams params=None)
+
+        Draw the contents of a header control button, (label, sort
+        arrows, etc.)  Normally this is only called by `DrawHeaderButton`.
+        """
+        return _gdi_.RendererNative_DrawHeaderButtonContents(*args, **kwargs)
+
+    def GetHeaderButtonHeight(*args, **kwargs):
+        """
+        GetHeaderButtonHeight(self, Window win) -> int
+
+        Returns the default height of a header button, either a fixed platform
+        height if available, or a generic height based on the window's font.
+        """
+        return _gdi_.RendererNative_GetHeaderButtonHeight(*args, **kwargs)
+
     def DrawTreeItemButton(*args, **kwargs):
         """
         DrawTreeItemButton(self, Window win, DC dc, Rect rect, int flags=0)
@@ -5428,6 +5910,8 @@ class RendererNative(object):
         """
         return _gdi_.RendererNative_GetVersion(*args, **kwargs)
 
+    SplitterParams = property(GetSplitterParams,doc="See `GetSplitterParams`") 
+    Version = property(GetVersion,doc="See `GetVersion`") 
 _gdi_.RendererNative_swigregister(RendererNative)
 
 def RendererNative_Get(*args):
@@ -5561,6 +6045,43 @@ class PseudoDC(_core.Object):
         """
         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)
@@ -6207,6 +6728,8 @@ class PseudoDC(_core.Object):
         """
         return _gdi_.PseudoDC_SetLogicalFunction(*args, **kwargs)
 
+    IdBounds = property(GetIdBounds,SetIdBounds,doc="See `GetIdBounds` and `SetIdBounds`") 
+    Len = property(GetLen,doc="See `GetLen`") 
 _gdi_.PseudoDC_swigregister(PseudoDC)