X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/db914595539caa89c08b9b7cb468384b098d1886..52f52ebc4e0be6a9899d328b08db9eb14629d219:/wxPython/src/msw/gdi.py?ds=inline diff --git a/wxPython/src/msw/gdi.py b/wxPython/src/msw/gdi.py index a3135fcbdd..b9da9091e1 100644 --- a/wxPython/src/msw/gdi.py +++ b/wxPython/src/msw/gdi.py @@ -45,10 +45,31 @@ _gdi.GDIObject_swigregister(GDIObjectPtr) #--------------------------------------------------------------------------- class Colour(core.Object): + """ + A colour is an object representing a combination of Red, Green, and Blue (RGB) + intensity values, and is used to determine drawing colours, window colours, + etc. Valid RGB values are in the range 0 to 255. + + In wxPython there are typemaps that will automatically convert from a colour + name, or from a "#RRGGBB" colour hex value string to a wx.Colour object when + calling C++ methods that expect a wxColour. This means that the following are + all equivallent: + + win.SetBackgroundColour(wxColour(0,0,255)) + win.SetBackgroundColour("BLUE") + win.SetBackgroundColour("#0000FF") + + You can retrieve the various current system colour settings with + wx.SystemSettings.GetColour. + """ def __repr__(self): return "<%s.%s; proxy of C++ wxColour instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) def __init__(self, *args, **kwargs): - """__init__(unsigned char red=0, unsigned char green=0, unsigned char blue=0) -> Colour""" + """ + __init__(unsigned char red=0, unsigned char green=0, unsigned char blue=0) -> Colour + + Constructs a colour from red, green and blue values. + """ newobj = _gdi.new_Colour(*args, **kwargs) self.this = newobj.this self.thisown = 1 @@ -60,45 +81,104 @@ class Colour(core.Object): except: pass def Red(*args, **kwargs): - """Red() -> unsigned char""" + """ + Red() -> unsigned char + + Returns the red intensity. + """ return _gdi.Colour_Red(*args, **kwargs) def Green(*args, **kwargs): - """Green() -> unsigned char""" + """ + Green() -> unsigned char + + Returns the green intensity. + """ return _gdi.Colour_Green(*args, **kwargs) def Blue(*args, **kwargs): - """Blue() -> unsigned char""" + """ + Blue() -> unsigned char + + Returns the blue intensity. + """ return _gdi.Colour_Blue(*args, **kwargs) def Ok(*args, **kwargs): - """Ok() -> bool""" + """ + Ok() -> bool + + Returns True if the colour object is valid (the colour has been + initialised with RGB values). + """ return _gdi.Colour_Ok(*args, **kwargs) def Set(*args, **kwargs): - """Set(unsigned char red, unsigned char green, unsigned char blue)""" + """ + Set(unsigned char red, unsigned char green, unsigned char blue) + + Sets the RGB intensity values. + """ return _gdi.Colour_Set(*args, **kwargs) def SetRGB(*args, **kwargs): - """SetRGB(unsigned long colRGB)""" + """ + SetRGB(unsigned long colRGB) + + Sets the RGB intensity values from a packed RGB value. + """ return _gdi.Colour_SetRGB(*args, **kwargs) + def SetFromName(*args, **kwargs): + """ + SetFromName(String colourName) + + Sets the RGB intensity values using a colour name listed in wx.TheColourDatabase. + """ + return _gdi.Colour_SetFromName(*args, **kwargs) + + def GetPixel(*args, **kwargs): + """ + GetPixel() -> long + + Returns a pixel value which is platform-dependent. On Windows, a + COLORREF is returned. On X, an allocated pixel value is returned. + -1 is returned if the pixel is invalid (on X, unallocated). + """ + return _gdi.Colour_GetPixel(*args, **kwargs) + def __eq__(*args, **kwargs): - """__eq__(Colour colour) -> bool""" + """ + __eq__(Colour colour) -> bool + + Compare colours for equality + """ return _gdi.Colour___eq__(*args, **kwargs) def __ne__(*args, **kwargs): - """__ne__(Colour colour) -> bool""" - return _gdi.Colour___ne__(*args, **kwargs) + """ + __ne__(Colour colour) -> bool - def InitFromName(*args, **kwargs): - """InitFromName(String colourName)""" - return _gdi.Colour_InitFromName(*args, **kwargs) + Compare colours for inequality + """ + return _gdi.Colour___ne__(*args, **kwargs) def Get(*args, **kwargs): - """Get() -> PyObject""" + """ + Get() -> (r, g, b) + + Returns the RGB intensity values as a tuple. + """ return _gdi.Colour_Get(*args, **kwargs) + def GetRGB(*args, **kwargs): + """ + GetRGB() -> unsigned long + + Return the colour as a packed RGB value + """ + return _gdi.Colour_GetRGB(*args, **kwargs) + asTuple = Get def __str__(self): return str(self.asTuple()) def __repr__(self): return 'wx.Colour' + str(self.asTuple()) @@ -115,13 +195,21 @@ class ColourPtr(Colour): _gdi.Colour_swigregister(ColourPtr) def NamedColour(*args, **kwargs): - """NamedColour(String colorName) -> Colour""" + """ + NamedColour(String colorName) -> Colour + + Constructs a colour object using a colour name listed in wx.TheColourDatabase. + """ val = _gdi.new_NamedColour(*args, **kwargs) val.thisown = 1 return val def ColourRGB(*args, **kwargs): - """ColourRGB(unsigned long colRGB) -> Colour""" + """ + ColourRGB(unsigned long colRGB) -> Colour + + Constructs a colour from a packed RGB value. + """ val = _gdi.new_ColourRGB(*args, **kwargs) val.thisown = 1 return val @@ -236,9 +324,13 @@ class Pen(GDIObject): return _gdi.Pen_GetDashes(*args, **kwargs) def __eq__(*args, **kwargs): - """__eq__(Pen pen) -> bool""" + """__eq__(Pen other) -> bool""" return _gdi.Pen___eq__(*args, **kwargs) + def __ne__(*args, **kwargs): + """__ne__(Pen other) -> bool""" + return _gdi.Pen___ne__(*args, **kwargs) + def GetDashCount(*args, **kwargs): """GetDashCount() -> int""" return _gdi.Pen_GetDashCount(*args, **kwargs) @@ -588,9 +680,10 @@ class Mask(core.Object): return "<%s.%s; proxy of C++ wxMask instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) def __init__(self, *args, **kwargs): """ - __init__(Bitmap bitmap) -> Mask + __init__(Bitmap bitmap, Colour colour=NullColour) -> Mask - Constructs a mask from a monochrome bitmap. + Constructs a mask from a bitmap and a colour in that bitmap that indicates + the transparent portions of the mask, by default BLACK is used. """ newobj = _gdi.new_Mask(*args, **kwargs) self.this = newobj.this @@ -604,17 +697,7 @@ class MaskPtr(Mask): self.__class__ = Mask _gdi.Mask_swigregister(MaskPtr) -def MaskColour(*args, **kwargs): - """ - MaskColour(Bitmap bitmap, Colour colour) -> Mask - - Constructs a mask from a bitmap and a colour in that bitmap that indicates the - background. - """ - val = _gdi.new_MaskColour(*args, **kwargs) - val.thisown = 1 - return val - +MaskColour = Mask class Icon(GDIObject): def __repr__(self): return "<%s.%s; proxy of C++ wxIcon instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) @@ -1500,11 +1583,11 @@ class Font(GDIObject): def __nonzero__(self): return self.Ok() def __eq__(*args, **kwargs): - """__eq__(Font font) -> bool""" + """__eq__(Font other) -> bool""" return _gdi.Font___eq__(*args, **kwargs) def __ne__(*args, **kwargs): - """__ne__(Font font) -> bool""" + """__ne__(Font other) -> bool""" return _gdi.Font___ne__(*args, **kwargs) def GetPointSize(*args, **kwargs): @@ -2903,22 +2986,25 @@ def MemoryDCFromDC(*args, **kwargs): #--------------------------------------------------------------------------- -BUFFER_DC_OVERWRITE_BG = _gdi.BUFFER_DC_OVERWRITE_BG -BUFFER_DC_PRESERVE_BG = _gdi.BUFFER_DC_PRESERVE_BG -BUFFER_DC_DEFAULT = _gdi.BUFFER_DC_DEFAULT class BufferedDC(MemoryDC): def __repr__(self): return "<%s.%s; proxy of C++ wxBufferedDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) def __init__(self, *args): """ __init__(DC dc, Bitmap buffer) -> BufferedDC - __init__(DC dc, Size area, int flags=BUFFER_DC_DEFAULT) -> BufferedDC + __init__(DC dc, Size area) -> BufferedDC """ newobj = _gdi.new_BufferedDC(*args) self.this = newobj.this self.thisown = 1 del newobj.thisown - val._dc = args[0] # save a ref so the other dc will not be deleted before self + self._dc = args[0] # save a ref so the other dc will not be deleted before self + + def __del__(self, destroy=_gdi.delete_BufferedDC): + """__del__()""" + try: + if self.thisown: destroy(self) + except: pass def UnMask(*args, **kwargs): """UnMask()""" @@ -2933,7 +3019,7 @@ class BufferedDCPtr(BufferedDC): _gdi.BufferedDC_swigregister(BufferedDCPtr) def BufferedDCInternalBuffer(*args): - """BufferedDCInternalBuffer(DC dc, Size area, int flags=BUFFER_DC_DEFAULT) -> BufferedDC""" + """BufferedDCInternalBuffer(DC dc, Size area) -> BufferedDC""" val = _gdi.new_BufferedDCInternalBuffer(*args) val.thisown = 1 val._dc = args[0] # save a ref so the other dc will not be deleted before self @@ -2942,12 +3028,9 @@ def BufferedDCInternalBuffer(*args): class BufferedPaintDC(BufferedDC): def __repr__(self): return "<%s.%s; proxy of C++ wxBufferedPaintDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) - def __init__(self, *args): - """ - __init__(Window window, Bitmap buffer) -> BufferedPaintDC - __init__(Window window, int flags=BUFFER_DC_DEFAULT) -> BufferedPaintDC - """ - newobj = _gdi.new_BufferedPaintDC(*args) + def __init__(self, *args, **kwargs): + """__init__(Window window, Bitmap buffer=NullBitmap) -> BufferedPaintDC""" + newobj = _gdi.new_BufferedPaintDC(*args, **kwargs) self.this = newobj.this self.thisown = 1 del newobj.thisown