diff options
Diffstat (limited to 'canvas.py')
-rw-r--r-- | canvas.py | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -56,6 +56,8 @@ class Canvas(gtk.DrawingArea): rect.x = 0 rect.y = 0 + logging.debug('__expose_event_cb1 %r %r %r %r' % (event.area.x, event.area.y, + event.area.width, event.area.height)) context.rectangle(event.area.x, event.area.y, event.area.width, event.area.height) context.clip() @@ -65,6 +67,7 @@ class Canvas(gtk.DrawingArea): for element in self._elements: rect = element.get_rect() + logging.debug('__expose_event_cb %r %r %r %r' % (rect.x, rect.y, rect.width, rect.height)) if rect.intersect(event.area): context.save() @@ -107,6 +110,9 @@ class Canvas(gtk.DrawingArea): self._elements = [] + def get_elements(self): + return self._elements + def __element_invalidated_cb(self, **kwargs): element = kwargs['sender'] @@ -180,7 +186,7 @@ class Canvas(gtk.DrawingArea): class CanvasElement(object): def __init__(self): self.invalidated = dispatch.Signal() - self.previous_rect = (0, 0, 0, 0) + self.previous_rect = gtk.gdk.Rectangle(0, 0, 0, 0) def draw(self, context): self.previous_rect = self.get_rect() |