]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/ImageAlpha.py
The great wxVScrolledWindow refactoring: allow using it both horizontal and
[wxWidgets.git] / wxPython / demo / ImageAlpha.py
index cec268ce6eaf19e7057226a92441e5361b8a0d22..9613a8ce914c3dca3e9b922cff6cd8e6e55cfcef 100644 (file)
@@ -5,7 +5,7 @@ from Main import opj
 
 #----------------------------------------------------------------------
 
-msg = "This is some text that will appear behind the image..."
+msg = "Some text will appear mixed in the image's shadow..."
 
 class TestPanel(wx.Panel):
     def __init__(self, parent, log):
@@ -21,18 +21,35 @@ class TestPanel(wx.Panel):
         dc.Clear()
 
         dc.SetFont(wx.Font(16, wx.SWISS, wx.NORMAL, wx.BOLD, True))
-        dc.DrawText("Bitmap alpha blending (on wxMSW and wxGTK)",
-                    (25,25))
-
+        dc.DrawText("Bitmap alpha blending (on all ports but gtk+ 1.2)",
+                    25,25)
+        
         bmp = wx.Bitmap(opj('bitmaps/toucan.png'))
-        dc.DrawBitmap(bmp, (25,100), True)
+        if "gtk1" in wx.PlatformInfo:
+            # Try to make up for lack of alpha support in wxGTK (gtk+
+            # 1.2) by converting the alpha blending into a
+            # transparency mask.
+
+            # first convert to a wx.Image
+            img = bmp.ConvertToImage()
+
+            # Then convert the alpha channel to a mask, specifying the
+            # threshold below which alpha will be made fully
+            # transparent
+            img.ConvertAlphaToMask(220)
+
+            # convert back to a wx.Bitmap
+            bmp = img.ConvertToBitmap()
+
+            
+        dc.DrawBitmap(bmp, 25,100, True)
 
         dc.SetFont(self.GetFont())
         y = 75
         for line in range(10):
             y += dc.GetCharHeight() + 5
-            dc.DrawText(msg, (200, y))
-        dc.DrawBitmap(bmp, (250,100), True)
+            dc.DrawText(msg, 200, y)
+        dc.DrawBitmap(bmp, 250,100, True)
         
 
 
@@ -49,11 +66,14 @@ def runTest(frame, nb, log):
 overview = """<html><body>
 <h2><center>Images with Alpha</center></h2>
 
-wxMSW and wxGTK now support alpha channels of supported image
-types, and will properly blend that chennel when drawing a
+wxMSW and wxMac now support alpha channels of supported image
+types, and will properly blend that channel when drawing a
 bitmap.  It is not supported yet on wxGTK, (if you would like to
 change that please submit a patch!)
 
+<p>On wxGTK this demo turns the alpha channel into a 1-bit mask, so
+yes, it looks like crap.  Please help us fix it!
+
 </body></html>
 """