def __init__(self):
gtk.DrawingArea.__init__(self)
self.set_double_buffered(False)
self.add_events(
gtk.gdk.BUTTON_PRESS_MASK|
gtk.gdk.BUTTON_RELEASE_MASK|
gtk.gdk.BUTTON1_MOTION_MASK|
gtk.gdk.BUTTON2_MOTION_MASK|
gtk.gdk.BUTTON3_MOTION_MASK|
gtk.gdk.SCROLL_MASK|
gtk.gdk.KEY_PRESS_MASK|
gtk.gdk.KEY_RELEASE_MASK)
# foregorund, background
self.fg = (0, 0, 0)
self.bg = (0, 0, 0)
# list of layers
self.layers = []
# visible are used for speedup as list
self.visible = None
# canvas bindings
self.bindings = {}
# last item which had some event
self.current_item = None
# cairo context
self.cr = None
# cached cairo image surfaces using filenames/images as keys
self.cache_filenames = {}
self.cache_images = {}
# connect event callbacks
gtk.DrawingArea.connect(self, 'configure-event', self.drawingarea_configure_event_cb)
gtk.DrawingArea.connect(self, 'expose-event', self.drawingarea_expose_event_cb)
gtk.DrawingArea.connect(self, 'button-press-event', self.drawingarea_button_press_event_cb)
gtk.DrawingArea.connect(self, 'button-release-event', self.drawingarea_button_release_event_cb)
gtk.DrawingArea.connect(self, 'motion-notify-event', self.drawingarea_motion_notify_event_cb)
gtk.DrawingArea.connect(self, 'scroll-event', self.drawingarea_scroll_event_cb)
评论列表
文章目录