]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/gdi.py
fixed bug in generation of thumb scroll events
[wxWidgets.git] / wxPython / src / msw / gdi.py
index cf557ca1e7dcea2af8ed165b02e649105f652ae5..9ab2cec48ff89a0bdd4c6e3d553fe587c09af31b 100644 (file)
@@ -2,7 +2,35 @@
 import gdic
 
 from misc import *
 import gdic
 
 from misc import *
-class wxBitmapPtr :
+
+from fonts import *
+class wxGDIObjectPtr(wxObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,gdic=gdic):
+        if self.thisown == 1 :
+            gdic.delete_wxGDIObject(self)
+    def GetVisible(self, *_args, **_kwargs):
+        val = apply(gdic.wxGDIObject_GetVisible,(self,) + _args, _kwargs)
+        return val
+    def SetVisible(self, *_args, **_kwargs):
+        val = apply(gdic.wxGDIObject_SetVisible,(self,) + _args, _kwargs)
+        return val
+    def IsNull(self, *_args, **_kwargs):
+        val = apply(gdic.wxGDIObject_IsNull,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxGDIObject instance at %s>" % (self.this,)
+class wxGDIObject(wxGDIObjectPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(gdic.new_wxGDIObject,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxBitmapPtr(wxGDIObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -93,10 +121,13 @@ class wxBitmap(wxBitmapPtr):
 
 
 
 
 
 
-class wxMaskPtr :
+class wxMaskPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
+    def Destroy(self, *_args, **_kwargs):
+        val = apply(gdic.wxMask_Destroy,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxMask instance at %s>" % (self.this,)
 class wxMask(wxMaskPtr):
     def __repr__(self):
         return "<C wxMask instance at %s>" % (self.this,)
 class wxMask(wxMaskPtr):
@@ -107,7 +138,7 @@ class wxMask(wxMaskPtr):
 
 
 
 
 
 
-class wxIconPtr :
+class wxIconPtr(wxGDIObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -147,6 +178,9 @@ class wxIconPtr :
     def SetSize(self, *_args, **_kwargs):
         val = apply(gdic.wxIcon_SetSize,(self,) + _args, _kwargs)
         return val
     def SetSize(self, *_args, **_kwargs):
         val = apply(gdic.wxIcon_SetSize,(self,) + _args, _kwargs)
         return val
+    def CopyFromBitmap(self, *_args, **_kwargs):
+        val = apply(gdic.wxIcon_CopyFromBitmap,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxIcon instance at %s>" % (self.this,)
     
     def __repr__(self):
         return "<C wxIcon instance at %s>" % (self.this,)
     
@@ -165,7 +199,44 @@ class wxIcon(wxIconPtr):
 
 
 
 
 
 
-class wxCursorPtr :
+class wxIconBundlePtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,gdic=gdic):
+        if self.thisown == 1 :
+            gdic.delete_wxIconBundle(self)
+    def AddIcon(self, *_args, **_kwargs):
+        val = apply(gdic.wxIconBundle_AddIcon,(self,) + _args, _kwargs)
+        return val
+    def AddIconFromFile(self, *_args, **_kwargs):
+        val = apply(gdic.wxIconBundle_AddIconFromFile,(self,) + _args, _kwargs)
+        return val
+    def GetIcon(self, *_args, **_kwargs):
+        val = apply(gdic.wxIconBundle_GetIcon,(self,) + _args, _kwargs)
+        if val: val = wxIconPtr(val) 
+        return val
+    def __repr__(self):
+        return "<C wxIconBundle instance at %s>" % (self.this,)
+class wxIconBundle(wxIconBundlePtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(gdic.new_wxIconBundle,_args,_kwargs)
+        self.thisown = 1
+
+
+
+def wxIconBundleFromFile(*_args,**_kwargs):
+    val = wxIconBundlePtr(apply(gdic.new_wxIconBundleFromFile,_args,_kwargs))
+    val.thisown = 1
+    return val
+
+def wxIconBundleFromIcon(*_args,**_kwargs):
+    val = wxIconBundlePtr(apply(gdic.new_wxIconBundleFromIcon,_args,_kwargs))
+    val.thisown = 1
+    return val
+
+
+class wxCursorPtr(wxGDIObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -212,104 +283,7 @@ class wxCursor(wxCursorPtr):
 
 
 
 
 
 
-class wxFontPtr :
-    def __init__(self,this):
-        self.this = this
-        self.thisown = 0
-    def __del__(self,gdic=gdic):
-        if self.thisown == 1 :
-            gdic.delete_wxFont(self)
-    def Ok(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_Ok,(self,) + _args, _kwargs)
-        return val
-    def GetFaceName(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetFaceName,(self,) + _args, _kwargs)
-        return val
-    def GetFamily(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetFamily,(self,) + _args, _kwargs)
-        return val
-    def GetFontId(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetFontId,(self,) + _args, _kwargs)
-        return val
-    def GetPointSize(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetPointSize,(self,) + _args, _kwargs)
-        return val
-    def GetStyle(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetStyle,(self,) + _args, _kwargs)
-        return val
-    def GetUnderlined(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetUnderlined,(self,) + _args, _kwargs)
-        return val
-    def GetWeight(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetWeight,(self,) + _args, _kwargs)
-        return val
-    def GetEncoding(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetEncoding,(self,) + _args, _kwargs)
-        return val
-    def SetFaceName(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_SetFaceName,(self,) + _args, _kwargs)
-        return val
-    def SetFamily(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_SetFamily,(self,) + _args, _kwargs)
-        return val
-    def SetPointSize(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_SetPointSize,(self,) + _args, _kwargs)
-        return val
-    def SetStyle(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_SetStyle,(self,) + _args, _kwargs)
-        return val
-    def SetUnderlined(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_SetUnderlined,(self,) + _args, _kwargs)
-        return val
-    def SetWeight(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_SetWeight,(self,) + _args, _kwargs)
-        return val
-    def SetEncoding(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_SetEncoding,(self,) + _args, _kwargs)
-        return val
-    def GetFamilyString(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetFamilyString,(self,) + _args, _kwargs)
-        return val
-    def GetStyleString(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetStyleString,(self,) + _args, _kwargs)
-        return val
-    def GetWeightString(self, *_args, **_kwargs):
-        val = apply(gdic.wxFont_GetWeightString,(self,) + _args, _kwargs)
-        return val
-    def __repr__(self):
-        return "<C wxFont instance at %s>" % (self.this,)
-class wxFont(wxFontPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gdic.new_wxFont,_args,_kwargs)
-        self.thisown = 1
-
-
-
-
-class wxFontListPtr :
-    def __init__(self,this):
-        self.this = this
-        self.thisown = 0
-    def AddFont(self, *_args, **_kwargs):
-        val = apply(gdic.wxFontList_AddFont,(self,) + _args, _kwargs)
-        return val
-    def FindOrCreateFont(self, *_args, **_kwargs):
-        val = apply(gdic.wxFontList_FindOrCreateFont,(self,) + _args, _kwargs)
-        if val: val = wxFontPtr(val) 
-        return val
-    def RemoveFont(self, *_args, **_kwargs):
-        val = apply(gdic.wxFontList_RemoveFont,(self,) + _args, _kwargs)
-        return val
-    def __repr__(self):
-        return "<C wxFontList instance at %s>" % (self.this,)
-class wxFontList(wxFontListPtr):
-    def __init__(self,this):
-        self.this = this
-
-
-
-
-class wxColourPtr :
+class wxColourPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -347,7 +321,7 @@ class wxColour(wxColourPtr):
 
 
 
 
 
 
-class wxColourDatabasePtr :
+class wxColourDatabasePtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -370,7 +344,7 @@ class wxColourDatabase(wxColourDatabasePtr):
 
 
 
 
 
 
-class wxPenPtr :
+class wxPenPtr(wxGDIObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -382,7 +356,7 @@ class wxPenPtr :
         return val
     def GetColour(self, *_args, **_kwargs):
         val = apply(gdic.wxPen_GetColour,(self,) + _args, _kwargs)
         return val
     def GetColour(self, *_args, **_kwargs):
         val = apply(gdic.wxPen_GetColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
+        if val: val = wxColourPtr(val) ; val.thisown = 1
         return val
     def GetJoin(self, *_args, **_kwargs):
         val = apply(gdic.wxPen_GetJoin,(self,) + _args, _kwargs)
         return val
     def GetJoin(self, *_args, **_kwargs):
         val = apply(gdic.wxPen_GetJoin,(self,) + _args, _kwargs)
@@ -411,9 +385,6 @@ class wxPenPtr :
     def SetWidth(self, *_args, **_kwargs):
         val = apply(gdic.wxPen_SetWidth,(self,) + _args, _kwargs)
         return val
     def SetWidth(self, *_args, **_kwargs):
         val = apply(gdic.wxPen_SetWidth,(self,) + _args, _kwargs)
         return val
-    def GetDashes(self, *_args, **_kwargs):
-        val = apply(gdic.wxPen_GetDashes,(self,) + _args, _kwargs)
-        return val
     def SetDashes(self, *_args, **_kwargs):
         val = apply(gdic.wxPen_SetDashes,(self,) + _args, _kwargs)
         return val
     def SetDashes(self, *_args, **_kwargs):
         val = apply(gdic.wxPen_SetDashes,(self,) + _args, _kwargs)
         return val
@@ -434,7 +405,27 @@ class wxPen(wxPenPtr):
 
 
 
 
 
 
-class wxPenListPtr :
+class wxPyPenPtr(wxPenPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,gdic=gdic):
+        if self.thisown == 1 :
+            gdic.delete_wxPyPen(self)
+    def SetDashes(self, *_args, **_kwargs):
+        val = apply(gdic.wxPyPen_SetDashes,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxPyPen instance at %s>" % (self.this,)
+class wxPyPen(wxPyPenPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(gdic.new_wxPyPen,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxPenListPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -448,6 +439,9 @@ class wxPenListPtr :
     def RemovePen(self, *_args, **_kwargs):
         val = apply(gdic.wxPenList_RemovePen,(self,) + _args, _kwargs)
         return val
     def RemovePen(self, *_args, **_kwargs):
         val = apply(gdic.wxPenList_RemovePen,(self,) + _args, _kwargs)
         return val
+    def GetCount(self, *_args, **_kwargs):
+        val = apply(gdic.wxPenList_GetCount,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxPenList instance at %s>" % (self.this,)
 class wxPenList(wxPenListPtr):
     def __repr__(self):
         return "<C wxPenList instance at %s>" % (self.this,)
 class wxPenList(wxPenListPtr):
@@ -457,7 +451,7 @@ class wxPenList(wxPenListPtr):
 
 
 
 
 
 
-class wxBrushPtr :
+class wxBrushPtr(wxGDIObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -466,7 +460,7 @@ class wxBrushPtr :
             gdic.delete_wxBrush(self)
     def GetColour(self, *_args, **_kwargs):
         val = apply(gdic.wxBrush_GetColour,(self,) + _args, _kwargs)
             gdic.delete_wxBrush(self)
     def GetColour(self, *_args, **_kwargs):
         val = apply(gdic.wxBrush_GetColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
+        if val: val = wxColourPtr(val) ; val.thisown = 1
         return val
     def GetStipple(self, *_args, **_kwargs):
         val = apply(gdic.wxBrush_GetStipple,(self,) + _args, _kwargs)
         return val
     def GetStipple(self, *_args, **_kwargs):
         val = apply(gdic.wxBrush_GetStipple,(self,) + _args, _kwargs)
@@ -497,7 +491,7 @@ class wxBrush(wxBrushPtr):
 
 
 
 
 
 
-class wxBrushListPtr :
+class wxBrushListPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -511,6 +505,9 @@ class wxBrushListPtr :
     def RemoveBrush(self, *_args, **_kwargs):
         val = apply(gdic.wxBrushList_RemoveBrush,(self,) + _args, _kwargs)
         return val
     def RemoveBrush(self, *_args, **_kwargs):
         val = apply(gdic.wxBrushList_RemoveBrush,(self,) + _args, _kwargs)
         return val
+    def GetCount(self, *_args, **_kwargs):
+        val = apply(gdic.wxBrushList_GetCount,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxBrushList instance at %s>" % (self.this,)
 class wxBrushList(wxBrushListPtr):
     def __repr__(self):
         return "<C wxBrushList instance at %s>" % (self.this,)
 class wxBrushList(wxBrushListPtr):
@@ -520,7 +517,7 @@ class wxBrushList(wxBrushListPtr):
 
 
 
 
 
 
-class wxDCPtr :
+class wxDCPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -569,6 +566,13 @@ class wxDCPtr :
     def DrawIcon(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_DrawIcon,(self,) + _args, _kwargs)
         return val
     def DrawIcon(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_DrawIcon,(self,) + _args, _kwargs)
         return val
+    def DrawLabel(self, *_args, **_kwargs):
+        val = apply(gdic.wxDC_DrawLabel,(self,) + _args, _kwargs)
+        return val
+    def DrawImageLabel(self, *_args, **_kwargs):
+        val = apply(gdic.wxDC_DrawImageLabel,(self,) + _args, _kwargs)
+        if val: val = wxRectPtr(val) ; val.thisown = 1
+        return val
     def DrawLine(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_DrawLine,(self,) + _args, _kwargs)
         return val
     def DrawLine(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_DrawLine,(self,) + _args, _kwargs)
         return val
@@ -610,11 +614,11 @@ class wxDCPtr :
         return val
     def GetBackground(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetBackground,(self,) + _args, _kwargs)
         return val
     def GetBackground(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetBackground,(self,) + _args, _kwargs)
-        if val: val = wxBrushPtr(val) 
+        if val: val = wxBrushPtr(val) ; val.thisown = 1
         return val
     def GetBrush(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetBrush,(self,) + _args, _kwargs)
         return val
     def GetBrush(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetBrush,(self,) + _args, _kwargs)
-        if val: val = wxBrushPtr(val) 
+        if val: val = wxBrushPtr(val) ; val.thisown = 1
         return val
     def GetCharHeight(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetCharHeight,(self,) + _args, _kwargs)
         return val
     def GetCharHeight(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetCharHeight,(self,) + _args, _kwargs)
@@ -627,7 +631,7 @@ class wxDCPtr :
         return val
     def GetFont(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetFont,(self,) + _args, _kwargs)
         return val
     def GetFont(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetFont,(self,) + _args, _kwargs)
-        if val: val = wxFontPtr(val) 
+        if val: val = wxFontPtr(val) ; val.thisown = 1
         return val
     def GetLogicalFunction(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetLogicalFunction,(self,) + _args, _kwargs)
         return val
     def GetLogicalFunction(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetLogicalFunction,(self,) + _args, _kwargs)
@@ -643,7 +647,7 @@ class wxDCPtr :
         return val
     def GetPen(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetPen,(self,) + _args, _kwargs)
         return val
     def GetPen(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetPen,(self,) + _args, _kwargs)
-        if val: val = wxPenPtr(val) 
+        if val: val = wxPenPtr(val) ; val.thisown = 1
         return val
     def GetPixel(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetPixel,(self,) + _args, _kwargs)
         return val
     def GetPixel(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetPixel,(self,) + _args, _kwargs)
@@ -662,7 +666,7 @@ class wxDCPtr :
         return val
     def GetTextBackground(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetTextBackground,(self,) + _args, _kwargs)
         return val
     def GetTextBackground(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetTextBackground,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
+        if val: val = wxColourPtr(val) ; val.thisown = 1
         return val
     def GetTextExtent(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetTextExtent,(self,) + _args, _kwargs)
         return val
     def GetTextExtent(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetTextExtent,(self,) + _args, _kwargs)
@@ -672,7 +676,7 @@ class wxDCPtr :
         return val
     def GetTextForeground(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetTextForeground,(self,) + _args, _kwargs)
         return val
     def GetTextForeground(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetTextForeground,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
+        if val: val = wxColourPtr(val) ; val.thisown = 1
         return val
     def GetUserScale(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetUserScale,(self,) + _args, _kwargs)
         return val
     def GetUserScale(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_GetUserScale,(self,) + _args, _kwargs)
@@ -716,6 +720,9 @@ class wxDCPtr :
     def SetClippingRegion(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_SetClippingRegion,(self,) + _args, _kwargs)
         return val
     def SetClippingRegion(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_SetClippingRegion,(self,) + _args, _kwargs)
         return val
+    def SetClippingRegionAsRegion(self, *_args, **_kwargs):
+        val = apply(gdic.wxDC_SetClippingRegionAsRegion,(self,) + _args, _kwargs)
+        return val
     def SetPalette(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_SetPalette,(self,) + _args, _kwargs)
         return val
     def SetPalette(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_SetPalette,(self,) + _args, _kwargs)
         return val
@@ -789,8 +796,39 @@ class wxDCPtr :
     def ResetBoundingBox(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_ResetBoundingBox,(self,) + _args, _kwargs)
         return val
     def ResetBoundingBox(self, *_args, **_kwargs):
         val = apply(gdic.wxDC_ResetBoundingBox,(self,) + _args, _kwargs)
         return val
+    def GetBoundingBox(self, *_args, **_kwargs):
+        val = apply(gdic.wxDC_GetBoundingBox,(self,) + _args, _kwargs)
+        return val
+    def GetHDC(self, *_args, **_kwargs):
+        val = apply(gdic.wxDC_GetHDC,(self,) + _args, _kwargs)
+        return val
+    def _DrawPointList(self, *_args, **_kwargs):
+        val = apply(gdic.wxDC__DrawPointList,(self,) + _args, _kwargs)
+        return val
+    def _DrawLineList(self, *_args, **_kwargs):
+        val = apply(gdic.wxDC__DrawLineList,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxDC instance at %s>" % (self.this,)
     def __repr__(self):
         return "<C wxDC instance at %s>" % (self.this,)
+    
+    def DrawPointList(self, points, pens=None):
+        if pens is None:
+           pens = []
+        elif isinstance(pens, wxPenPtr):
+           pens = [pens]
+        elif len(pens) != len(points):
+           raise ValueError('points and pens must have same length')
+        return self._DrawPointList(points, pens)
+
+    def DrawLineList(self, lines, pens=None):
+        if pens is None:
+           pens = []
+        elif isinstance(pens, wxPenPtr):
+           pens = [pens]
+        elif len(pens) != len(lines):
+           raise ValueError('lines and pens must have same length')
+        return self._DrawLineList(lines, pens)
+
 class wxDC(wxDCPtr):
     def __init__(self,this):
         self.this = this
 class wxDC(wxDCPtr):
     def __init__(self,this):
         self.this = this
@@ -815,6 +853,44 @@ class wxMemoryDC(wxMemoryDCPtr):
 
 
 
 
 
 
+class wxBufferedDCPtr(wxMemoryDCPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def UnMask(self, *_args, **_kwargs):
+        val = apply(gdic.wxBufferedDC_UnMask,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxBufferedDC instance at %s>" % (self.this,)
+class wxBufferedDC(wxBufferedDCPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(gdic.new_wxBufferedDC,_args,_kwargs)
+        self.thisown = 1
+        self._dc = _args[0] # save a ref so the other dc won't be deleted before self
+
+
+
+def wxBufferedDCInternalBuffer(*_args,**_kwargs):
+    val = wxBufferedDCPtr(apply(gdic.new_wxBufferedDCInternalBuffer,_args,_kwargs))
+    val.thisown = 1
+    val._dc = _args[0] # save a ref so the other dc won't be deleted before self
+    return val
+
+
+class wxBufferedPaintDCPtr(wxBufferedDCPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __repr__(self):
+        return "<C wxBufferedPaintDC instance at %s>" % (self.this,)
+class wxBufferedPaintDC(wxBufferedPaintDCPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(gdic.new_wxBufferedPaintDC,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
 class wxScreenDCPtr(wxDCPtr):
     def __init__(self,this):
         self.this = this
 class wxScreenDCPtr(wxDCPtr):
     def __init__(self,this):
         self.this = this
@@ -880,12 +956,49 @@ class wxWindowDC(wxWindowDCPtr):
 
 
 
 
 
 
+class wxMetaFilePtr(wxObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,gdic=gdic):
+        if self.thisown == 1 :
+            gdic.delete_wxMetaFile(self)
+    def Ok(self, *_args, **_kwargs):
+        val = apply(gdic.wxMetaFile_Ok,(self,) + _args, _kwargs)
+        return val
+    def SetClipboard(self, *_args, **_kwargs):
+        val = apply(gdic.wxMetaFile_SetClipboard,(self,) + _args, _kwargs)
+        return val
+    def GetSize(self, *_args, **_kwargs):
+        val = apply(gdic.wxMetaFile_GetSize,(self,) + _args, _kwargs)
+        if val: val = wxSizePtr(val) ; val.thisown = 1
+        return val
+    def GetWidth(self, *_args, **_kwargs):
+        val = apply(gdic.wxMetaFile_GetWidth,(self,) + _args, _kwargs)
+        return val
+    def GetHeight(self, *_args, **_kwargs):
+        val = apply(gdic.wxMetaFile_GetHeight,(self,) + _args, _kwargs)
+        return val
+    def GetFileName(self, *_args, **_kwargs):
+        val = apply(gdic.wxMetaFile_GetFileName,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxMetaFile instance at %s>" % (self.this,)
+class wxMetaFile(wxMetaFilePtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(gdic.new_wxMetaFile,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
 class wxMetaFileDCPtr(wxDCPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def Close(self, *_args, **_kwargs):
         val = apply(gdic.wxMetaFileDC_Close,(self,) + _args, _kwargs)
 class wxMetaFileDCPtr(wxDCPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def Close(self, *_args, **_kwargs):
         val = apply(gdic.wxMetaFileDC_Close,(self,) + _args, _kwargs)
+        if val: val = wxMetaFilePtr(val) 
         return val
     def __repr__(self):
         return "<C wxMetaFileDC instance at %s>" % (self.this,)
         return val
     def __repr__(self):
         return "<C wxMetaFileDC instance at %s>" % (self.this,)
@@ -897,7 +1010,7 @@ class wxMetaFileDC(wxMetaFileDCPtr):
 
 
 
 
 
 
-class wxPalettePtr :
+class wxPalettePtr(wxGDIObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -923,7 +1036,7 @@ class wxPalette(wxPalettePtr):
 
 
 
 
 
 
-class wxImageListPtr :
+class wxImageListPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -967,6 +1080,132 @@ class wxImageList(wxImageListPtr):
 
 
 
 
 
 
+class wxRegionPtr(wxGDIObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,gdic=gdic):
+        if self.thisown == 1 :
+            gdic.delete_wxRegion(self)
+    def Clear(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Clear,(self,) + _args, _kwargs)
+        return val
+    def Offset(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Offset,(self,) + _args, _kwargs)
+        return val
+    def Contains(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Contains,(self,) + _args, _kwargs)
+        return val
+    def ContainsPoint(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_ContainsPoint,(self,) + _args, _kwargs)
+        return val
+    def ContainsRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_ContainsRect,(self,) + _args, _kwargs)
+        return val
+    def ContainsRectDim(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_ContainsRectDim,(self,) + _args, _kwargs)
+        return val
+    def GetBox(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_GetBox,(self,) + _args, _kwargs)
+        if val: val = wxRectPtr(val) ; val.thisown = 1
+        return val
+    def Intersect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Intersect,(self,) + _args, _kwargs)
+        return val
+    def IntersectRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_IntersectRect,(self,) + _args, _kwargs)
+        return val
+    def IntersectRegion(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_IntersectRegion,(self,) + _args, _kwargs)
+        return val
+    def IsEmpty(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_IsEmpty,(self,) + _args, _kwargs)
+        return val
+    def Union(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Union,(self,) + _args, _kwargs)
+        return val
+    def UnionRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_UnionRect,(self,) + _args, _kwargs)
+        return val
+    def UnionRegion(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_UnionRegion,(self,) + _args, _kwargs)
+        return val
+    def Subtract(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Subtract,(self,) + _args, _kwargs)
+        return val
+    def SubtractRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_SubtractRect,(self,) + _args, _kwargs)
+        return val
+    def SubtractRegion(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_SubtractRegion,(self,) + _args, _kwargs)
+        return val
+    def Xor(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_Xor,(self,) + _args, _kwargs)
+        return val
+    def XorRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_XorRect,(self,) + _args, _kwargs)
+        return val
+    def XorRegion(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegion_XorRegion,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxRegion instance at %s>" % (self.this,)
+class wxRegion(wxRegionPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(gdic.new_wxRegion,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxRegionIteratorPtr(wxObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,gdic=gdic):
+        if self.thisown == 1 :
+            gdic.delete_wxRegionIterator(self)
+    def GetX(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetX,(self,) + _args, _kwargs)
+        return val
+    def GetY(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetY,(self,) + _args, _kwargs)
+        return val
+    def GetW(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetW,(self,) + _args, _kwargs)
+        return val
+    def GetWidth(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetWidth,(self,) + _args, _kwargs)
+        return val
+    def GetH(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetH,(self,) + _args, _kwargs)
+        return val
+    def GetHeight(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetHeight,(self,) + _args, _kwargs)
+        return val
+    def GetRect(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_GetRect,(self,) + _args, _kwargs)
+        if val: val = wxRectPtr(val) ; val.thisown = 1
+        return val
+    def HaveRects(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_HaveRects,(self,) + _args, _kwargs)
+        return val
+    def Reset(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_Reset,(self,) + _args, _kwargs)
+        return val
+    def Next(self, *_args, **_kwargs):
+        val = apply(gdic.wxRegionIterator_Next,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxRegionIterator instance at %s>" % (self.this,)
+class wxRegionIterator(wxRegionIteratorPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(gdic.new_wxRegionIterator,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
 
 
 #-------------- FUNCTION WRAPPERS ------------------
 
 
 #-------------- FUNCTION WRAPPERS ------------------
@@ -976,8 +1215,18 @@ def wxEmptyBitmap(*_args, **_kwargs):
     if val: val = wxBitmapPtr(val); val.thisown = 1
     return val
 
     if val: val = wxBitmapPtr(val); val.thisown = 1
     return val
 
-def wxBitmapFromData(*_args, **_kwargs):
-    val = apply(gdic.wxBitmapFromData,_args,_kwargs)
+def wxBitmapFromXPMData(*_args, **_kwargs):
+    val = apply(gdic.wxBitmapFromXPMData,_args,_kwargs)
+    if val: val = wxBitmapPtr(val); val.thisown = 1
+    return val
+
+def wxBitmapFromIcon(*_args, **_kwargs):
+    val = apply(gdic.wxBitmapFromIcon,_args,_kwargs)
+    if val: val = wxBitmapPtr(val); val.thisown = 1
+    return val
+
+def wxBitmapFromBits(*_args, **_kwargs):
+    val = apply(gdic.wxBitmapFromBits,_args,_kwargs)
     if val: val = wxBitmapPtr(val); val.thisown = 1
     return val
 
     if val: val = wxBitmapPtr(val); val.thisown = 1
     return val
 
@@ -986,15 +1235,26 @@ def wxMaskColour(*_args, **_kwargs):
     if val: val = wxMaskPtr(val); val.thisown = 1
     return val
 
     if val: val = wxMaskPtr(val); val.thisown = 1
     return val
 
+def wxEmptyIcon(*_args, **_kwargs):
+    val = apply(gdic.wxEmptyIcon,_args,_kwargs)
+    if val: val = wxIconPtr(val); val.thisown = 1
+    return val
+
+def wxIconFromXPMData(*_args, **_kwargs):
+    val = apply(gdic.wxIconFromXPMData,_args,_kwargs)
+    if val: val = wxIconPtr(val); val.thisown = 1
+    return val
+
+def wxIconFromBitmap(*_args, **_kwargs):
+    val = apply(gdic.wxIconFromBitmap,_args,_kwargs)
+    if val: val = wxIconPtr(val); val.thisown = 1
+    return val
+
 def wxStockCursor(*_args, **_kwargs):
     val = apply(gdic.wxStockCursor,_args,_kwargs)
     if val: val = wxCursorPtr(val); val.thisown = 1
     return val
 
 def wxStockCursor(*_args, **_kwargs):
     val = apply(gdic.wxStockCursor,_args,_kwargs)
     if val: val = wxCursorPtr(val); val.thisown = 1
     return val
 
-wxFont_GetDefaultEncoding = gdic.wxFont_GetDefaultEncoding
-
-wxFont_SetDefaultEncoding = gdic.wxFont_SetDefaultEncoding
-
 def wxNamedColour(*_args, **_kwargs):
     val = apply(gdic.wxNamedColour,_args,_kwargs)
     if val: val = wxColourPtr(val); val.thisown = 1
 def wxNamedColour(*_args, **_kwargs):
     val = apply(gdic.wxNamedColour,_args,_kwargs)
     if val: val = wxColourPtr(val); val.thisown = 1
@@ -1009,35 +1269,16 @@ def wxMemoryDCFromDC(*_args, **_kwargs):
 
 #-------------- VARIABLE WRAPPERS ------------------
 
 
 #-------------- VARIABLE WRAPPERS ------------------
 
-wxFONTENCODING_SYSTEM = gdic.wxFONTENCODING_SYSTEM
-wxFONTENCODING_DEFAULT = gdic.wxFONTENCODING_DEFAULT
-wxFONTENCODING_ISO8859_1 = gdic.wxFONTENCODING_ISO8859_1
-wxFONTENCODING_ISO8859_2 = gdic.wxFONTENCODING_ISO8859_2
-wxFONTENCODING_ISO8859_3 = gdic.wxFONTENCODING_ISO8859_3
-wxFONTENCODING_ISO8859_4 = gdic.wxFONTENCODING_ISO8859_4
-wxFONTENCODING_ISO8859_5 = gdic.wxFONTENCODING_ISO8859_5
-wxFONTENCODING_ISO8859_6 = gdic.wxFONTENCODING_ISO8859_6
-wxFONTENCODING_ISO8859_7 = gdic.wxFONTENCODING_ISO8859_7
-wxFONTENCODING_ISO8859_8 = gdic.wxFONTENCODING_ISO8859_8
-wxFONTENCODING_ISO8859_9 = gdic.wxFONTENCODING_ISO8859_9
-wxFONTENCODING_ISO8859_10 = gdic.wxFONTENCODING_ISO8859_10
-wxFONTENCODING_ISO8859_11 = gdic.wxFONTENCODING_ISO8859_11
-wxFONTENCODING_ISO8859_12 = gdic.wxFONTENCODING_ISO8859_12
-wxFONTENCODING_ISO8859_13 = gdic.wxFONTENCODING_ISO8859_13
-wxFONTENCODING_ISO8859_14 = gdic.wxFONTENCODING_ISO8859_14
-wxFONTENCODING_ISO8859_15 = gdic.wxFONTENCODING_ISO8859_15
-wxFONTENCODING_KOI8 = gdic.wxFONTENCODING_KOI8
-wxFONTENCODING_ALTERNATIVE = gdic.wxFONTENCODING_ALTERNATIVE
-wxFONTENCODING_BULGARIAN = gdic.wxFONTENCODING_BULGARIAN
-wxFONTENCODING_CP437 = gdic.wxFONTENCODING_CP437
-wxFONTENCODING_CP850 = gdic.wxFONTENCODING_CP850
-wxFONTENCODING_CP852 = gdic.wxFONTENCODING_CP852
-wxFONTENCODING_CP855 = gdic.wxFONTENCODING_CP855
-wxFONTENCODING_CP866 = gdic.wxFONTENCODING_CP866
-wxFONTENCODING_CP1250 = gdic.wxFONTENCODING_CP1250
-wxFONTENCODING_CP1251 = gdic.wxFONTENCODING_CP1251
-wxFONTENCODING_CP1252 = gdic.wxFONTENCODING_CP1252
-wxFONTENCODING_MAX = gdic.wxFONTENCODING_MAX
+wxIMAGELIST_DRAW_NORMAL = gdic.wxIMAGELIST_DRAW_NORMAL
+wxIMAGELIST_DRAW_TRANSPARENT = gdic.wxIMAGELIST_DRAW_TRANSPARENT
+wxIMAGELIST_DRAW_SELECTED = gdic.wxIMAGELIST_DRAW_SELECTED
+wxIMAGELIST_DRAW_FOCUSED = gdic.wxIMAGELIST_DRAW_FOCUSED
+wxIMAGE_LIST_NORMAL = gdic.wxIMAGE_LIST_NORMAL
+wxIMAGE_LIST_SMALL = gdic.wxIMAGE_LIST_SMALL
+wxIMAGE_LIST_STATE = gdic.wxIMAGE_LIST_STATE
+wxOutRegion = gdic.wxOutRegion
+wxPartRegion = gdic.wxPartRegion
+wxInRegion = gdic.wxInRegion
 cvar = gdic.cvar
 wxNORMAL_FONT = wxFontPtr(gdic.cvar.wxNORMAL_FONT)
 wxSMALL_FONT = wxFontPtr(gdic.cvar.wxSMALL_FONT)
 cvar = gdic.cvar
 wxNORMAL_FONT = wxFontPtr(gdic.cvar.wxNORMAL_FONT)
 wxSMALL_FONT = wxFontPtr(gdic.cvar.wxSMALL_FONT)
@@ -1083,11 +1324,5 @@ wxNullFont = wxFontPtr(gdic.cvar.wxNullFont)
 wxNullColour = wxColourPtr(gdic.cvar.wxNullColour)
 wxTheFontList = wxFontListPtr(gdic.cvar.wxTheFontList)
 wxThePenList = wxPenListPtr(gdic.cvar.wxThePenList)
 wxNullColour = wxColourPtr(gdic.cvar.wxNullColour)
 wxTheFontList = wxFontListPtr(gdic.cvar.wxTheFontList)
 wxThePenList = wxPenListPtr(gdic.cvar.wxThePenList)
+wxTheBrushList = wxBrushListPtr(gdic.cvar.wxTheBrushList)
 wxTheColourDatabase = wxColourDatabasePtr(gdic.cvar.wxTheColourDatabase)
 wxTheColourDatabase = wxColourDatabasePtr(gdic.cvar.wxTheColourDatabase)
-wxIMAGELIST_DRAW_NORMAL = gdic.wxIMAGELIST_DRAW_NORMAL
-wxIMAGELIST_DRAW_TRANSPARENT = gdic.wxIMAGELIST_DRAW_TRANSPARENT
-wxIMAGELIST_DRAW_SELECTED = gdic.wxIMAGELIST_DRAW_SELECTED
-wxIMAGELIST_DRAW_FOCUSED = gdic.wxIMAGELIST_DRAW_FOCUSED
-wxIMAGE_LIST_NORMAL = gdic.wxIMAGE_LIST_NORMAL
-wxIMAGE_LIST_SMALL = gdic.wxIMAGE_LIST_SMALL
-wxIMAGE_LIST_STATE = gdic.wxIMAGE_LIST_STATE