X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..f7f78039d2e18114efdec0abe46dc4ed2d4529a8:/wxPython/src/msw/gdi.py diff --git a/wxPython/src/msw/gdi.py b/wxPython/src/msw/gdi.py index 5f8cf2c835..c8ef3bc3be 100644 --- a/wxPython/src/msw/gdi.py +++ b/wxPython/src/msw/gdi.py @@ -2,13 +2,48 @@ import gdic from misc import * -class wxBitmapPtr : + +from fonts import * +import wx +class wxGDIObjectPtr(wxObjectPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def __del__(self, delfunc=gdic.delete_wxGDIObject): + if self.thisown == 1: + try: + delfunc(self) + except: + pass + 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 "" % (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 __del__(self,gdic=gdic): - if self.thisown == 1 : - gdic.delete_wxBitmap(self) + def __del__(self, delfunc=gdic.delete_wxBitmap): + if self.thisown == 1: + try: + delfunc(self) + except: + pass def GetPalette(self, *_args, **_kwargs): val = apply(gdic.wxBitmap_GetPalette,(self,) + _args, _kwargs) if val: val = wxPalettePtr(val) @@ -78,13 +113,10 @@ class wxBitmapPtr : def __repr__(self): return "" % (self.this,) - def __del__(self,gdic=gdic): - try: - if self.thisown == 1 : - gdic.delete_wxBitmap(self) - except: - pass - + def SetMaskColour(self, colour): + mask = wxMaskColour(self, colour) + self.SetMask(mask) + class wxBitmap(wxBitmapPtr): def __init__(self,*_args,**_kwargs): self.this = apply(gdic.new_wxBitmap,_args,_kwargs) @@ -93,10 +125,13 @@ class wxBitmap(wxBitmapPtr): -class wxMaskPtr : +class wxMaskPtr(wxObjectPtr): 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 "" % (self.this,) class wxMask(wxMaskPtr): @@ -107,13 +142,16 @@ class wxMask(wxMaskPtr): -class wxIconPtr : +class wxIconPtr(wxGDIObjectPtr): def __init__(self,this): self.this = this self.thisown = 0 - def __del__(self,gdic=gdic): - if self.thisown == 1 : - gdic.delete_wxIcon(self) + def __del__(self, delfunc=gdic.delete_wxIcon): + if self.thisown == 1: + try: + delfunc(self) + except: + pass def LoadFile(self, *_args, **_kwargs): val = apply(gdic.wxIcon_LoadFile,(self,) + _args, _kwargs) return val @@ -147,16 +185,11 @@ class wxIconPtr : 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 "" % (self.this,) - - def __del__(self,gdic=gdic): - try: - if self.thisown == 1 : - gdic.delete_wxIcon(self) - except: - pass - class wxIcon(wxIconPtr): def __init__(self,*_args,**_kwargs): self.this = apply(gdic.new_wxIcon,_args,_kwargs) @@ -165,13 +198,56 @@ class wxIcon(wxIconPtr): -class wxCursorPtr : +class wxIconBundlePtr : + def __init__(self,this): + self.this = this + self.thisown = 0 + def __del__(self, delfunc=gdic.delete_wxIconBundle): + if self.thisown == 1: + try: + delfunc(self) + except: + pass + 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 "" % (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 __del__(self,gdic=gdic): - if self.thisown == 1 : - gdic.delete_wxCursor(self) + def __del__(self, delfunc=gdic.delete_wxCursor): + if self.thisown == 1: + try: + delfunc(self) + except: + pass def GetHandle(self, *_args, **_kwargs): val = apply(gdic.wxCursor_GetHandle,(self,) + _args, _kwargs) return val @@ -212,84 +288,16 @@ class wxCursor(wxCursorPtr): -class wxFontPtr : - def __init__(self,this): - self.this = this - self.thisown = 0 - 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 "" % (self.this,) -class wxFont(wxFontPtr): - def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxFont,_args,_kwargs) - self.thisown = 1 - - - - -class wxColourPtr : +class wxColourPtr(wxObjectPtr): def __init__(self,this): self.this = this self.thisown = 0 - def __del__(self,gdic=gdic): - if self.thisown == 1 : - gdic.delete_wxColour(self) + def __del__(self, delfunc=gdic.delete_wxColour): + if self.thisown == 1: + try: + delfunc(self) + except: + pass def Red(self, *_args, **_kwargs): val = apply(gdic.wxColour_Red,(self,) + _args, _kwargs) return val @@ -308,11 +316,22 @@ class wxColourPtr : def Get(self, *_args, **_kwargs): val = apply(gdic.wxColour_Get,(self,) + _args, _kwargs) return val + def __eq__(self, *_args, **_kwargs): + val = apply(gdic.wxColour___eq__,(self,) + _args, _kwargs) + return val + def __ne__(self, *_args, **_kwargs): + val = apply(gdic.wxColour___ne__,(self,) + _args, _kwargs) + return val def __repr__(self): return "" % (self.this,) asTuple = Get - def __str__(self): return str(self.asTuple()) - def __repr__(self): return str(self.asTuple()) + def __str__(self): return str(self.asTuple()) + def __repr__(self): return 'wxColour:' + str(self.asTuple()) + def __nonzero__(self): return self.Ok() + def __getinitargs__(self): return () + def __getstate__(self): return self.asTuple() + def __setstate__(self, state): self.Set(*state) + class wxColour(wxColourPtr): def __init__(self,*_args,**_kwargs): self.this = apply(gdic.new_wxColour,_args,_kwargs) @@ -321,16 +340,45 @@ class wxColour(wxColourPtr): -class wxPenPtr : +class wxColourDatabasePtr(wxObjectPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def FindColour(self, *_args, **_kwargs): + val = apply(gdic.wxColourDatabase_FindColour,(self,) + _args, _kwargs) + if val: val = wxColourPtr(val) + return val + def FindName(self, *_args, **_kwargs): + val = apply(gdic.wxColourDatabase_FindName,(self,) + _args, _kwargs) + return val + def Append(self, *_args, **_kwargs): + val = apply(gdic.wxColourDatabase_Append,(self,) + _args, _kwargs) + return val + def __repr__(self): + return "" % (self.this,) +class wxColourDatabase(wxColourDatabasePtr): + def __init__(self,this): + self.this = this + + + + +class wxPenPtr(wxGDIObjectPtr): def __init__(self,this): self.this = this self.thisown = 0 + def __del__(self, delfunc=gdic.delete_wxPen): + if self.thisown == 1: + try: + delfunc(self) + except: + pass def GetCap(self, *_args, **_kwargs): val = apply(gdic.wxPen_GetCap,(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) @@ -359,12 +407,12 @@ class wxPenPtr : 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 GetDashes(self, *_args, **_kwargs): + val = apply(gdic.wxPen_GetDashes,(self,) + _args, _kwargs) + return val def GetStipple(self, *_args, **_kwargs): val = apply(gdic.wxPen_GetStipple,(self,) + _args, _kwargs) if val: val = wxBitmapPtr(val) @@ -382,13 +430,68 @@ class wxPen(wxPenPtr): -class wxBrushPtr : +class wxPyPenPtr(wxPenPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def __del__(self, delfunc=gdic.delete_wxPyPen): + if self.thisown == 1: + try: + delfunc(self) + except: + pass + def SetDashes(self, *_args, **_kwargs): + val = apply(gdic.wxPyPen_SetDashes,(self,) + _args, _kwargs) + return val + def __repr__(self): + return "" % (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 AddPen(self, *_args, **_kwargs): + val = apply(gdic.wxPenList_AddPen,(self,) + _args, _kwargs) + return val + def FindOrCreatePen(self, *_args, **_kwargs): + val = apply(gdic.wxPenList_FindOrCreatePen,(self,) + _args, _kwargs) + if val: val = wxPenPtr(val) + 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 "" % (self.this,) +class wxPenList(wxPenListPtr): + def __init__(self,this): + self.this = this + + + + +class wxBrushPtr(wxGDIObjectPtr): def __init__(self,this): self.this = this self.thisown = 0 + def __del__(self, delfunc=gdic.delete_wxBrush): + if self.thisown == 1: + try: + delfunc(self) + except: + pass 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) @@ -419,13 +522,42 @@ class wxBrush(wxBrushPtr): -class wxDCPtr : +class wxBrushListPtr(wxObjectPtr): def __init__(self,this): self.this = this self.thisown = 0 - def __del__(self,gdic=gdic): - if self.thisown == 1 : - gdic.delete_wxDC(self) + def AddBrush(self, *_args, **_kwargs): + val = apply(gdic.wxBrushList_AddBrush,(self,) + _args, _kwargs) + return val + def FindOrCreateBrush(self, *_args, **_kwargs): + val = apply(gdic.wxBrushList_FindOrCreateBrush,(self,) + _args, _kwargs) + if val: val = wxBrushPtr(val) + 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 "" % (self.this,) +class wxBrushList(wxBrushListPtr): + def __init__(self,this): + self.this = this + + + + +class wxDCPtr(wxObjectPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def __del__(self, delfunc=gdic.delete_wxDC): + if self.thisown == 1: + try: + delfunc(self) + except: + pass def BeginDrawing(self, *_args, **_kwargs): val = apply(gdic.wxDC_BeginDrawing,(self,) + _args, _kwargs) return val @@ -468,6 +600,13 @@ class wxDCPtr : 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 @@ -483,6 +622,9 @@ class wxDCPtr : def DrawRectangle(self, *_args, **_kwargs): val = apply(gdic.wxDC_DrawRectangle,(self,) + _args, _kwargs) return val + def DrawRectangleRect(self, *_args, **_kwargs): + val = apply(gdic.wxDC_DrawRectangleRect,(self,) + _args, _kwargs) + return val def DrawRotatedText(self, *_args, **_kwargs): val = apply(gdic.wxDC_DrawRotatedText,(self,) + _args, _kwargs) return val @@ -509,11 +651,11 @@ class wxDCPtr : 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) - 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) @@ -526,7 +668,7 @@ class wxDCPtr : 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) @@ -542,7 +684,7 @@ class wxDCPtr : 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) @@ -561,7 +703,7 @@ class wxDCPtr : 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) @@ -569,9 +711,12 @@ class wxDCPtr : def GetFullTextExtent(self, *_args, **_kwargs): val = apply(gdic.wxDC_GetFullTextExtent,(self,) + _args, _kwargs) return val + def GetMultiLineTextExtent(self, *_args, **_kwargs): + val = apply(gdic.wxDC_GetMultiLineTextExtent,(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) @@ -615,6 +760,12 @@ class wxDCPtr : 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 SetClippingRect(self, *_args, **_kwargs): + val = apply(gdic.wxDC_SetClippingRect,(self,) + _args, _kwargs) + return val def SetPalette(self, *_args, **_kwargs): val = apply(gdic.wxDC_SetPalette,(self,) + _args, _kwargs) return val @@ -688,8 +839,128 @@ class wxDCPtr : 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 _DrawRectangleList(self, *_args, **_kwargs): + val = apply(gdic.wxDC__DrawRectangleList,(self,) + _args, _kwargs) + return val + def _DrawEllipseList(self, *_args, **_kwargs): + val = apply(gdic.wxDC__DrawEllipseList,(self,) + _args, _kwargs) + return val + def _DrawPolygonList(self, *_args, **_kwargs): + val = apply(gdic.wxDC__DrawPolygonList,(self,) + _args, _kwargs) + return val + def _DrawTextList(self, *_args, **_kwargs): + val = apply(gdic.wxDC__DrawTextList,(self,) + _args, _kwargs) + return val def __repr__(self): return "" % (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, []) + + + def DrawRectangleList(self, rectangles, pens=None, brushes=None): + if pens is None: + pens = [] + elif isinstance(pens, wxPenPtr): + pens = [pens] + elif len(pens) != len(rectangles): + raise ValueError('rectangles and pens must have same length') + if brushes is None: + brushes = [] + elif isinstance(brushes, wxBrushPtr): + brushes = [brushes] + elif len(brushes) != len(rectangles): + raise ValueError('rectangles and brushes must have same length') + return self._DrawRectangleList(rectangles, pens, brushes) + + + def DrawEllipseList(self, ellipses, pens=None, brushes=None): + if pens is None: + pens = [] + elif isinstance(pens, wxPenPtr): + pens = [pens] + elif len(pens) != len(ellipses): + raise ValueError('ellipses and pens must have same length') + if brushes is None: + brushes = [] + elif isinstance(brushes, wxBrushPtr): + brushes = [brushes] + elif len(brushes) != len(ellipses): + raise ValueError('ellipses and brushes must have same length') + return self._DrawEllipseList(ellipses, pens, brushes) + + + def DrawPolygonList(self, polygons, pens=None, brushes=None): + ## Note: This does not currently support fill style or offset + ## you can always use the non-List version if need be. + ## I really would like to support fill-style, however, + ## but wxODDEVEN_RULE does not appear to be defined at the Python level + ## [It's in wx.py... --Robin] + if pens is None: + pens = [] + elif isinstance(pens, wxPenPtr): + pens = [pens] + elif len(pens) != len(polygons): + raise ValueError('polygons and pens must have same length') + if brushes is None: + brushes = [] + elif isinstance(brushes, wxBrushPtr): + brushes = [brushes] + elif len(brushes) != len(polygons): + raise ValueError('polygons and brushes must have same length') + return self._DrawPolygonList(polygons, pens, brushes) + + + def DrawTextList(self, textList, coords, foregrounds = None, backgrounds = None, fonts = None): + ## NOTE: this does not currently support changing the font + ## Make sure you set Background mode to wxSolid (DC.SetBackgroundMode) + ## If you want backgounds to do anything. + if type(textList) == type(''): + textList = [textList] + elif len(textList) != len(coords): + raise ValueError('textlist and coords must have same length') + if foregrounds is None: + foregrounds = [] + elif isinstance(foregrounds, wxColourPtr): + foregrounds = [foregrounds] + elif len(foregrounds) != len(coords): + raise ValueError('foregrounds and coords must have same length') + if backgrounds is None: + backgrounds = [] + elif isinstance(backgrounds, wxColourPtr): + backgrounds = [backgrounds] + elif len(backgrounds) != len(coords): + raise ValueError('backgrounds and coords must have same length') + return self._DrawTextList(textList, coords, foregrounds, backgrounds) + class wxDC(wxDCPtr): def __init__(self,this): self.this = this @@ -714,6 +985,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 "" % (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 "" % (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 @@ -779,15 +1088,40 @@ class wxWindowDC(wxWindowDCPtr): -class wxPrinterDCPtr(wxDCPtr): +class wxMetaFilePtr(wxObjectPtr): def __init__(self,this): self.this = this self.thisown = 0 + def __del__(self, delfunc=gdic.delete_wxMetaFile): + if self.thisown == 1: + try: + delfunc(self) + except: + pass + 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 "" % (self.this,) -class wxPrinterDC(wxPrinterDCPtr): + return "" % (self.this,) +class wxMetaFile(wxMetaFilePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxPrinterDC,_args,_kwargs) + self.this = apply(gdic.new_wxMetaFile,_args,_kwargs) self.thisown = 1 @@ -799,6 +1133,7 @@ class wxMetaFileDCPtr(wxDCPtr): 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 "" % (self.this,) @@ -810,13 +1145,16 @@ class wxMetaFileDC(wxMetaFileDCPtr): -class wxPalettePtr : +class wxPalettePtr(wxGDIObjectPtr): def __init__(self,this): self.this = this self.thisown = 0 - def __del__(self,gdic=gdic): - if self.thisown == 1 : - gdic.delete_wxPalette(self) + def __del__(self, delfunc=gdic.delete_wxPalette): + if self.thisown == 1: + try: + delfunc(self) + except: + pass def GetPixel(self, *_args, **_kwargs): val = apply(gdic.wxPalette_GetPixel,(self,) + _args, _kwargs) return val @@ -836,13 +1174,16 @@ class wxPalette(wxPalettePtr): -class wxImageListPtr : +class wxImageListPtr(wxObjectPtr): def __init__(self,this): self.this = this self.thisown = 0 - def __del__(self,gdic=gdic): - if self.thisown == 1 : - gdic.delete_wxImageList(self) + def __del__(self, delfunc=gdic.delete_wxImageList): + if self.thisown == 1: + try: + delfunc(self) + except: + pass def Add(self, *_args, **_kwargs): val = apply(gdic.wxImageList_Add,(self,) + _args, _kwargs) return val @@ -880,6 +1221,143 @@ class wxImageList(wxImageListPtr): +class wxRegionPtr(wxGDIObjectPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def __del__(self, delfunc=gdic.delete_wxRegion): + if self.thisown == 1: + try: + delfunc(self) + except: + pass + 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 "" % (self.this,) +class wxRegion(wxRegionPtr): + def __init__(self,*_args,**_kwargs): + self.this = apply(gdic.new_wxRegion,_args,_kwargs) + self.thisown = 1 + + + +def wxRegionFromPoints(*_args,**_kwargs): + val = wxRegionPtr(apply(gdic.new_wxRegionFromPoints,_args,_kwargs)) + val.thisown = 1 + return val + + +class wxRegionIteratorPtr(wxObjectPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def __del__(self, delfunc=gdic.delete_wxRegionIterator): + if self.thisown == 1: + try: + delfunc(self) + except: + pass + 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 "" % (self.this,) +class wxRegionIterator(wxRegionIteratorPtr): + def __init__(self,*_args,**_kwargs): + self.this = apply(gdic.new_wxRegionIterator,_args,_kwargs) + self.thisown = 1 + + + + #-------------- FUNCTION WRAPPERS ------------------ @@ -889,8 +1367,18 @@ def wxEmptyBitmap(*_args, **_kwargs): 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 @@ -899,14 +1387,30 @@ def wxMaskColour(*_args, **_kwargs): 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 -wxFont_GetDefaultEncoding = gdic.wxFont_GetDefaultEncoding - -wxFont_SetDefaultEncoding = gdic.wxFont_SetDefaultEncoding +def wxCursorFromImage(*_args, **_kwargs): + val = apply(gdic.wxCursorFromImage,_args,_kwargs) + if val: val = wxCursorPtr(val); val.thisown = 1 + return val def wxNamedColour(*_args, **_kwargs): val = apply(gdic.wxNamedColour,_args,_kwargs) @@ -922,35 +1426,16 @@ def wxMemoryDCFromDC(*_args, **_kwargs): #-------------- 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) @@ -994,10 +1479,7 @@ wxNullBrush = wxBrushPtr(gdic.cvar.wxNullBrush) wxNullPalette = wxPalettePtr(gdic.cvar.wxNullPalette) wxNullFont = wxFontPtr(gdic.cvar.wxNullFont) wxNullColour = wxColourPtr(gdic.cvar.wxNullColour) -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 +wxTheFontList = wxFontListPtr(gdic.cvar.wxTheFontList) +wxThePenList = wxPenListPtr(gdic.cvar.wxThePenList) +wxTheBrushList = wxBrushListPtr(gdic.cvar.wxTheBrushList) +wxTheColourDatabase = wxColourDatabasePtr(gdic.cvar.wxTheColourDatabase)