X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2dbef2723c6563bd1084486574e4915c4c5587de..409eab506ebe5454e10b7e49da263993e00399ce:/wxPython/src/mac/gdi.py diff --git a/wxPython/src/mac/gdi.py b/wxPython/src/mac/gdi.py index 7596b875ee..22d3cca161 100644 --- a/wxPython/src/mac/gdi.py +++ b/wxPython/src/mac/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,17 +195,29 @@ 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 +Color = Colour +NamedColor = NamedColour +ColorRGB = ColourRGB + class Palette(GDIObject): def __repr__(self): return "<%s.%s; proxy of C++ wxPalette instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) @@ -231,6 +323,14 @@ class Pen(GDIObject): """GetDashes() -> PyObject""" return _gdi.Pen_GetDashes(*args, **kwargs) + def __eq__(*args, **kwargs): + """__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 __nonzero__(self): return self.Ok() class PenPtr(Pen): @@ -475,6 +575,14 @@ class Bitmap(GDIObject): return _gdi.Bitmap_SetDepth(*args, **kwargs) def __nonzero__(self): return self.Ok() + def __eq__(*args, **kwargs): + """__eq__(Bitmap other) -> bool""" + return _gdi.Bitmap___eq__(*args, **kwargs) + + def __ne__(*args, **kwargs): + """__ne__(Bitmap other) -> bool""" + return _gdi.Bitmap___ne__(*args, **kwargs) + class BitmapPtr(Bitmap): def __init__(self, this): @@ -552,9 +660,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 @@ -568,17 +677,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,) @@ -751,10 +850,30 @@ def IconBundleFromIcon(*args, **kwargs): return val class Cursor(GDIObject): + """ + A cursor is a small bitmap usually used for denoting where the + mouse pointer is, with a picture that might indicate the + interpretation of a mouse click. + + A single cursor object may be used in many windows (any subwindow + type). The wxWindows convention is to set the cursor for a + window, as in X, rather than to set it globally as in MS Windows, + although a global wx.SetCursor function is also available for use + on MS Windows. + """ def __repr__(self): return "<%s.%s; proxy of C++ wxCursor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) def __init__(self, *args, **kwargs): - """__init__(String cursorName, long flags, int hotSpotX=0, int hotSpotY=0) -> Cursor""" + """ + __init__(String cursorName, long type, int hotSpotX=0, int hotSpotY=0) -> Cursor + + Construct a Cursor from a file. Specify the type of file using + wx.BITAMP_TYPE* constants, and specify the hotspot if not using a + .cur file. + + This cursor is not available on wxGTK, use wx.StockCursor, + wx.CursorFromImage, or wx.CursorFromBits instead. + """ newobj = _gdi.new_Cursor(*args, **kwargs) self.this = newobj.this self.thisown = 1 @@ -779,23 +898,33 @@ class CursorPtr(Cursor): _gdi.Cursor_swigregister(CursorPtr) def StockCursor(*args, **kwargs): - """StockCursor(int id) -> Cursor""" + """ + StockCursor(int id) -> Cursor + + Create a cursor using one of the stock cursors. Note that not + all cursors are available on all platforms. + """ val = _gdi.new_StockCursor(*args, **kwargs) val.thisown = 1 return val def CursorFromImage(*args, **kwargs): - """CursorFromImage(Image image) -> Cursor""" - val = _gdi.new_CursorFromImage(*args, **kwargs) - val.thisown = 1 - return val - -def CursorFromBits(*args, **kwargs): """ - CursorFromBits(PyObject bits, int width, int height, int hotSpotX=-1, - int hotSpotY=-1, PyObject maskBits=0) -> Cursor + CursorFromImage(Image image) -> Cursor + + Constructs a cursor from a wxImage. The cursor is monochrome, + colors with the RGB elements all greater than 127 will be + foreground, colors less than this background. The mask (if any) + will be used as transparent. + + In MSW the foreground will be white and the background black. The + cursor is resized to 32x32 In GTK, the two most frequent colors + will be used for foreground and background. The cursor will be + displayed at the size of the image. On MacOS the cursor is + resized to 16x16 and currently only shown as black/white (mask + respected). """ - val = _gdi.new_CursorFromBits(*args, **kwargs) + val = _gdi.new_CursorFromImage(*args, **kwargs) val.thisown = 1 return val @@ -1408,11 +1537,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): @@ -2082,8 +2211,8 @@ _gdi.EncodingConverter_swigregister(EncodingConverterPtr) def GetTranslation(*args): """ - GetTranslation(String sz) -> String - GetTranslation(String sz1, String sz2, size_t n) -> String + GetTranslation(String str) -> String + GetTranslation(String str, String strPlural, size_t n) -> String """ return _gdi.GetTranslation(*args) @@ -2432,6 +2561,10 @@ class DC(core.Object): """ return _gdi.DC_GetMultiLineTextExtent(*args, **kwargs) + def GetPartialTextExtents(*args, **kwargs): + """GetPartialTextExtents(String text) -> wxArrayInt""" + return _gdi.DC_GetPartialTextExtents(*args, **kwargs) + def GetSize(*args, **kwargs): """ GetSize() -> Size @@ -2810,14 +2943,23 @@ def MemoryDCFromDC(*args, **kwargs): 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, **kwargs): - """__init__(DC dc, Bitmap buffer) -> BufferedDC""" - newobj = _gdi.new_BufferedDC(*args, **kwargs) + def __init__(self, *args): + """ + __init__(DC dc, Bitmap buffer) -> BufferedDC + __init__(DC dc, Size area) -> BufferedDC + """ + newobj = _gdi.new_BufferedDC(*args) self.this = newobj.this self.thisown = 1 del newobj.thisown 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()""" return _gdi.BufferedDC_UnMask(*args, **kwargs) @@ -2830,9 +2972,9 @@ class BufferedDCPtr(BufferedDC): self.__class__ = BufferedDC _gdi.BufferedDC_swigregister(BufferedDCPtr) -def BufferedDCInternalBuffer(*args, **kwargs): +def BufferedDCInternalBuffer(*args): """BufferedDCInternalBuffer(DC dc, Size area) -> BufferedDC""" - val = _gdi.new_BufferedDCInternalBuffer(*args, **kwargs) + 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 return val @@ -3017,6 +3159,33 @@ class MetaFile(core.Object): self.this = newobj.this self.thisown = 1 del newobj.thisown + def __del__(self, destroy=_gdi.delete_MetaFile): + """__del__()""" + try: + if self.thisown: destroy(self) + except: pass + + def Ok(*args, **kwargs): + """Ok() -> bool""" + return _gdi.MetaFile_Ok(*args, **kwargs) + + def SetClipboard(*args, **kwargs): + """SetClipboard(int width=0, int height=0) -> bool""" + return _gdi.MetaFile_SetClipboard(*args, **kwargs) + + def GetSize(*args, **kwargs): + """GetSize() -> Size""" + return _gdi.MetaFile_GetSize(*args, **kwargs) + + def GetWidth(*args, **kwargs): + """GetWidth() -> int""" + return _gdi.MetaFile_GetWidth(*args, **kwargs) + + def GetHeight(*args, **kwargs): + """GetHeight() -> int""" + return _gdi.MetaFile_GetHeight(*args, **kwargs) + + def __nonzero__(self): return self.Ok() class MetaFilePtr(MetaFile): def __init__(self, this): @@ -3037,6 +3206,10 @@ class MetaFileDC(DC): self.this = newobj.this self.thisown = 1 del newobj.thisown + def Close(*args, **kwargs): + """Close() -> MetaFile""" + return _gdi.MetaFileDC_Close(*args, **kwargs) + class MetaFileDCPtr(MetaFileDC): def __init__(self, this): @@ -3402,6 +3575,49 @@ class PenListPtr(PenList): if not hasattr(self,"thisown"): self.thisown = 0 self.__class__ = PenList _gdi.PenList_swigregister(PenListPtr) +cvar = _gdi.cvar +NORMAL_FONT = cvar.NORMAL_FONT +SMALL_FONT = cvar.SMALL_FONT +ITALIC_FONT = cvar.ITALIC_FONT +SWISS_FONT = cvar.SWISS_FONT +RED_PEN = cvar.RED_PEN +CYAN_PEN = cvar.CYAN_PEN +GREEN_PEN = cvar.GREEN_PEN +BLACK_PEN = cvar.BLACK_PEN +WHITE_PEN = cvar.WHITE_PEN +TRANSPARENT_PEN = cvar.TRANSPARENT_PEN +BLACK_DASHED_PEN = cvar.BLACK_DASHED_PEN +GREY_PEN = cvar.GREY_PEN +MEDIUM_GREY_PEN = cvar.MEDIUM_GREY_PEN +LIGHT_GREY_PEN = cvar.LIGHT_GREY_PEN +BLUE_BRUSH = cvar.BLUE_BRUSH +GREEN_BRUSH = cvar.GREEN_BRUSH +WHITE_BRUSH = cvar.WHITE_BRUSH +BLACK_BRUSH = cvar.BLACK_BRUSH +TRANSPARENT_BRUSH = cvar.TRANSPARENT_BRUSH +CYAN_BRUSH = cvar.CYAN_BRUSH +RED_BRUSH = cvar.RED_BRUSH +GREY_BRUSH = cvar.GREY_BRUSH +MEDIUM_GREY_BRUSH = cvar.MEDIUM_GREY_BRUSH +LIGHT_GREY_BRUSH = cvar.LIGHT_GREY_BRUSH +BLACK = cvar.BLACK +WHITE = cvar.WHITE +RED = cvar.RED +BLUE = cvar.BLUE +GREEN = cvar.GREEN +CYAN = cvar.CYAN +LIGHT_GREY = cvar.LIGHT_GREY +STANDARD_CURSOR = cvar.STANDARD_CURSOR +HOURGLASS_CURSOR = cvar.HOURGLASS_CURSOR +CROSS_CURSOR = cvar.CROSS_CURSOR +NullBitmap = cvar.NullBitmap +NullIcon = cvar.NullIcon +NullCursor = cvar.NullCursor +NullPen = cvar.NullPen +NullBrush = cvar.NullBrush +NullPalette = cvar.NullPalette +NullFont = cvar.NullFont +NullColour = cvar.NullColour class BrushList(core.Object): def __init__(self): raise RuntimeError, "No constructor defined" @@ -3505,6 +3721,7 @@ _gdi.FontList_swigregister(FontListPtr) #--------------------------------------------------------------------------- +NullColor = NullColour #--------------------------------------------------------------------------- class Effects(core.Object): @@ -3578,49 +3795,6 @@ class EffectsPtr(Effects): if not hasattr(self,"thisown"): self.thisown = 0 self.__class__ = Effects _gdi.Effects_swigregister(EffectsPtr) -cvar = _gdi.cvar -NORMAL_FONT = cvar.NORMAL_FONT -SMALL_FONT = cvar.SMALL_FONT -ITALIC_FONT = cvar.ITALIC_FONT -SWISS_FONT = cvar.SWISS_FONT -RED_PEN = cvar.RED_PEN -CYAN_PEN = cvar.CYAN_PEN -GREEN_PEN = cvar.GREEN_PEN -BLACK_PEN = cvar.BLACK_PEN -WHITE_PEN = cvar.WHITE_PEN -TRANSPARENT_PEN = cvar.TRANSPARENT_PEN -BLACK_DASHED_PEN = cvar.BLACK_DASHED_PEN -GREY_PEN = cvar.GREY_PEN -MEDIUM_GREY_PEN = cvar.MEDIUM_GREY_PEN -LIGHT_GREY_PEN = cvar.LIGHT_GREY_PEN -BLUE_BRUSH = cvar.BLUE_BRUSH -GREEN_BRUSH = cvar.GREEN_BRUSH -WHITE_BRUSH = cvar.WHITE_BRUSH -BLACK_BRUSH = cvar.BLACK_BRUSH -TRANSPARENT_BRUSH = cvar.TRANSPARENT_BRUSH -CYAN_BRUSH = cvar.CYAN_BRUSH -RED_BRUSH = cvar.RED_BRUSH -GREY_BRUSH = cvar.GREY_BRUSH -MEDIUM_GREY_BRUSH = cvar.MEDIUM_GREY_BRUSH -LIGHT_GREY_BRUSH = cvar.LIGHT_GREY_BRUSH -BLACK = cvar.BLACK -WHITE = cvar.WHITE -RED = cvar.RED -BLUE = cvar.BLUE -GREEN = cvar.GREEN -CYAN = cvar.CYAN -LIGHT_GREY = cvar.LIGHT_GREY -STANDARD_CURSOR = cvar.STANDARD_CURSOR -HOURGLASS_CURSOR = cvar.HOURGLASS_CURSOR -CROSS_CURSOR = cvar.CROSS_CURSOR -NullBitmap = cvar.NullBitmap -NullIcon = cvar.NullIcon -NullCursor = cvar.NullCursor -NullPen = cvar.NullPen -NullBrush = cvar.NullBrush -NullPalette = cvar.NullPalette -NullFont = cvar.NullFont -NullColour = cvar.NullColour TheFontList = cvar.TheFontList ThePenList = cvar.ThePenList TheBrushList = cvar.TheBrushList