Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fa483d7

Browse files
committed
Merge pull request #437 from efiring/new_gc_alpha
backends: fix alpha handling for cairo and macosx
2 parents eff1069 + a8c4233 commit fa483d7

3 files changed

Lines changed: 10 additions & 1 deletion

File tree

lib/matplotlib/backend_bases.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,8 @@ def set_alpha(self, alpha):
774774
if alpha is not None:
775775
self._alpha = alpha
776776
self._forced_alpha = True
777+
else:
778+
self._forced_alpha = False
777779

778780
def set_antialiased(self, b):
779781
"""
@@ -834,7 +836,10 @@ def set_foreground(self, fg, isRGB=False):
834836
else:
835837
self._rgb = colors.colorConverter.to_rgba(fg)
836838
if len(self._rgb) == 4 and not self._forced_alpha:
837-
self._alpha = self._rgb[3]
839+
self.set_alpha(self._rgb[3])
840+
# Use set_alpha method here so that subclasses will
841+
# be calling their own version, which may set their
842+
# own attributes.
838843

839844
def set_graylevel(self, frac):
840845
"""

lib/matplotlib/backends/backend_cairo.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ def get_text_width_height_descent(self, s, prop, ismath):
283283
def new_gc(self):
284284
if _debug: print '%s.%s()' % (self.__class__.__name__, _fn_name())
285285
self.gc.ctx.save()
286+
self.gc._alpha = 1.0
287+
self.gc._forced_alpha = False # if True, _alpha overrides A from RGBA
286288
return self.gc
287289

288290

lib/matplotlib/backends/backend_macosx.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ def draw_quad_mesh(self, gc, master_transform, meshWidth, meshHeight,
101101
def new_gc(self):
102102
self.gc.save()
103103
self.gc.set_hatch(None)
104+
self.gc._alpha = 1.0
105+
self.gc._forced_alpha = False # if True, _alpha overrides A from RGBA
104106
return self.gc
105107

106108
def draw_gouraud_triangle(self, gc, points, colors, transform):

0 commit comments

Comments
 (0)