From bc938f8058e808a9b34896282efbe89184858d5d Mon Sep 17 00:00:00 2001 From: Simon Schampijer Date: Mon, 21 Mar 2011 21:02:22 +0000 Subject: Repaint the icon when we set the alpha value --- diff --git a/src/sugar/graphics/icon.py b/src/sugar/graphics/icon.py index 72254b6..06fc823 100644 --- a/src/sugar/graphics/icon.py +++ b/src/sugar/graphics/icon.py @@ -681,7 +681,6 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): Returns ------- None - """ if self._buffer.fill_color != value: self._buffer.fill_color = value @@ -831,7 +830,7 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): def set_alpha(self, alpha): if self._alpha != alpha: self._alpha = alpha - self.emit_request_changed() + self.emit_paint_needed(0, 0, -1, -1) alpha = gobject.property( type=float, setter=set_alpha) @@ -917,7 +916,11 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): y = (height - surface.get_height()) / 2 cr.set_source_surface(surface, x, y) - cr.paint() + if self._alpha == 1.0: + cr.paint() + else: + cr.paint_with_alpha(self._alpha) + def do_get_content_width_request(self): """ -- cgit v0.9.1