diff --git a/SketchWidget.py b/SketchWidget.py index bd9f2d3..a5aaf43 100644 --- a/SketchWidget.py +++ b/SketchWidget.py @@ -213,11 +213,20 @@ class SketchWidget: self.view_center = (self.view_center[0] - this_pt[0] + start_pt[0], self.view_center[1] - this_pt[1] + start_pt[1]) self.panning_start = (event.x, self.size[1] - event.y) - self.widget.queue_draw_area(0, 0, - int(self.size[0]), int(self.size[1])) + self.redraw() def scroll_event(self, widget, event, data = None): if event.direction == gtk.gdk.SCROLL_UP: - print 'scroll up at (%d, %d)' % (event.x, event.y) + self.view_center = self.screenPtToPt((event.x, + self.size[1] - event.y)) + self.view_width /= 1.2 + self.redraw() elif event.direction == gtk.gdk.SCROLL_DOWN: - print 'scroll down at (%d, %d)' % (event.x, event.y) + self.view_center = self.screenPtToPt((event.x, + self.size[1] - event.y)) + self.view_width *= 1.2 + self.redraw() + + def redraw(self): + self.widget.queue_draw_area(0, 0, + int(self.size[0]), int(self.size[1]))