From: Robin Dunn Date: Fri, 8 Sep 2006 18:16:06 +0000 (+0000) Subject: Added sample showing Alpha drawing for Mac with CoreGraphics X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/59780c72c67a8d880c1ea53d974ce83b03dfa5d2 Added sample showing Alpha drawing for Mac with CoreGraphics git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/demo/AlphaDrawing.py b/wxPython/demo/AlphaDrawing.py new file mode 100644 index 0000000000..8c3f973d96 --- /dev/null +++ b/wxPython/demo/AlphaDrawing.py @@ -0,0 +1,61 @@ + +import wx + +#---------------------------------------------------------------------- + +class TestPanel(wx.Panel): + def __init__(self, parent, log): + self.log = log + wx.Panel.__init__(self, parent, -1) + + wx.StaticText(self, -1, + "On the Mac these squares should be transparent,\n" + "if the CoreGrahics option is turned on.", + (20, 20)) + + self.Bind(wx.EVT_PAINT, self.OnPaint) + + def OnPaint(self, evt): + dc = wx.PaintDC(self) + rect = wx.Rect(0,0, 100, 100) + for RGB, pos in [((178, 34, 34), ( 50, 70)), + (( 35, 142, 35), (110, 130)), + (( 0, 0, 139), (170, 70)) + ]: + r, g, b = RGB + penclr = wx.Colour(r, g, b, wx.ALPHA_OPAQUE) + brushclr = wx.Colour(r, g, b, 128) # half transparent + dc.SetPen(wx.Pen(penclr)) + dc.SetBrush(wx.Brush(brushclr)) + rect.SetPosition(pos) + dc.DrawRectangleRect(rect) + + +#---------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestPanel(nb, log) + return win + +#---------------------------------------------------------------------- + + + +overview = """ +

Alpha Drawing

+ +The wx.DC on Mac now supports alpha transparent drawing using pens and +brushes. This is accomplished by enabling the wx.Colour class to have +a fourth component for the alpha value, where 0 is fully transparent, +and 255 is fully opaque. + + +""" + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) + diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py index 3b2855807e..bd08f8ffdd 100644 --- a/wxPython/demo/Main.py +++ b/wxPython/demo/Main.py @@ -60,6 +60,7 @@ _treeList = [ 'BitmapFromBuffer', 'RawBitmapAccess', 'DragScroller', + 'AlphaDrawing', ]), # managed windows == things with a (optional) caption you can close @@ -232,6 +233,7 @@ _treeList = [ # Images ('Using Images', [ + 'AlphaDrawing', 'ArtProvider', 'BitmapFromBuffer', 'Cursor', @@ -247,6 +249,7 @@ _treeList = [ # Other stuff ('Miscellaneous', [ + 'AlphaDrawing', 'ColourDB', ##'DialogUnits', # needs more explanations 'DragScroller',