]> git.saurik.com Git - wxWidgets.git/commitdiff
Added sample showing Alpha drawing for Mac with CoreGraphics
authorRobin Dunn <robin@alldunn.com>
Fri, 8 Sep 2006 18:16:06 +0000 (18:16 +0000)
committerRobin Dunn <robin@alldunn.com>
Fri, 8 Sep 2006 18:16:06 +0000 (18:16 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/demo/AlphaDrawing.py [new file with mode: 0644]
wxPython/demo/Main.py

diff --git a/wxPython/demo/AlphaDrawing.py b/wxPython/demo/AlphaDrawing.py
new file mode 100644 (file)
index 0000000..8c3f973
--- /dev/null
@@ -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 = """<html><body>
+<h2><center>Alpha Drawing</center></h2>
+
+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.
+
+</body></html>
+"""
+
+
+
+if __name__ == '__main__':
+    import sys,os
+    import run
+    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
+
index 3b2855807ea328ef4b0b505087195597e2fec90f..bd08f8ffdd2e9da69a9dcba7d9ae87011c2964f6 100644 (file)
@@ -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',