X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f72b58ae6635bca17e8e19889a84e3b70c7f3a5..30e24d9dd5a5abf1c9a375ea259eb239b122b7f7:/wxPython/demo/AlphaDrawing.py diff --git a/wxPython/demo/AlphaDrawing.py b/wxPython/demo/AlphaDrawing.py index 740d29cfbe..7023b7beda 100644 --- a/wxPython/demo/AlphaDrawing.py +++ b/wxPython/demo/AlphaDrawing.py @@ -9,17 +9,20 @@ class TestPanel(wx.Panel): wx.Panel.__init__(self, parent, -1) self.Bind(wx.EVT_PAINT, self.OnPaint) - txt = "On the Mac these squares should be transparent, if the\n" \ - "CoreGraphics option is turned on. " - if "wxMac" in wx.PlatformInfo: - txt += "This build of wxPython\n" \ - "%s have the CoreGraphics option turned on." \ - % ("mac-cg" in wx.PlatformInfo and "DOES" or "DOS NOT") + txt = """\ +If this build of wxPython includes the new wx.GCDC class (which +provides the wx.DC API on top of the new wx.GraphicsContext class) +then these squares should be transparent. +""" wx.StaticText(self, -1, txt, (20, 20)) def OnPaint(self, evt): - dc = wx.PaintDC(self) + pdc = wx.PaintDC(self) + try: + dc = wx.GCDC(pdc) + except: + dc = pdc rect = wx.Rect(0,0, 100, 100) for RGB, pos in [((178, 34, 34), ( 50, 90)), (( 35, 142, 35), (110, 150)), @@ -31,7 +34,7 @@ class TestPanel(wx.Panel): dc.SetPen(wx.Pen(penclr)) dc.SetBrush(wx.Brush(brushclr)) rect.SetPosition(pos) - dc.DrawRectangleRect(rect) + dc.DrawRoundedRectangleRect(rect, 8) #---------------------------------------------------------------------- @@ -47,13 +50,13 @@ def runTest(frame, nb, log): overview = """
You can consider this a \"preview of coming attractions\" for the -other platforms. +The wx.GCDC class is a class that implemented the wx.DC API using the +new wx.GraphicsContext class, and so it supports anti-aliased drawing +using pens and brushes, that can optionally also be drawn using an +alpha transparency. (On the Mac all the DC classes are using this new +implementation.) 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. """