From a12ec8be66e36b2ff0d939b6fa2019813fc9b87e Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauld.mccarthy@gmail.com>
Date: Thu, 17 Apr 2014 10:53:42 +0100
Subject: [PATCH] Transparency works

---
 fsl/utils/slicecanvas.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/fsl/utils/slicecanvas.py b/fsl/utils/slicecanvas.py
index a7f5e98cb..f8ff10a45 100644
--- a/fsl/utils/slicecanvas.py
+++ b/fsl/utils/slicecanvas.py
@@ -249,6 +249,14 @@ class SliceCanvas(wxgl.GLCanvas):
 
         self.Bind(wx.EVT_PAINT, self.draw)
 
+        def alphaChanged(newAlpha, *a):
+            self.Refresh()
+
+        self.image.addListener(
+            'alpha',
+            'SliceCanvasAlpha_{}'.format(id(self)),
+            alphaChanged)
+
 
     def _initGLData(self):
         """
@@ -415,6 +423,10 @@ class SliceCanvas(wxgl.GLCanvas):
 
         gl.glUseProgram(self.shaders)
 
+        # enable transparency
+        gl.glEnable(gl.GL_BLEND)
+        gl.glBlendFunc(gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA)
+
         # Set up the colour buffer
         gl.glEnable(gl.GL_TEXTURE_1D)
         gl.glActiveTexture(gl.GL_TEXTURE0)
-- 
GitLab