diff options
author | Gonzalo Odiard <godiard@gmail.com> | 2012-10-01 20:07:02 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2012-10-01 20:07:02 (GMT) |
commit | 2e622ad05885d1309f59c5a72aa60a09a2113df8 (patch) | |
tree | 400ca1b52a8c39efdcb51994a5460d528cac903c | |
parent | e7ef8f1d6b0e2502a5c4ac61b5409d595a01effa (diff) |
Improvemets to catch mouse events too.
Signed-off-by: Walter Bender <walter.bender@gmail.com>
-rw-r--r-- | touch_test.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/touch_test.py b/touch_test.py index 44cd771..fd82424 100644 --- a/touch_test.py +++ b/touch_test.py @@ -14,21 +14,27 @@ class TestTouch(Gtk.DrawingArea): self.touches = {} super(TestTouch, self).__init__() self.set_events(Gdk.EventMask.TOUCH_MASK) + self.add_events(Gdk.EventMask.BUTTON_PRESS_MASK) + self.add_events(Gdk.EventMask.BUTTON_RELEASE_MASK) + self.add_events(Gdk.EventMask.BUTTON_MOTION_MASK) self.connect('draw', self.__draw_cb) self.connect('event', self.__event_cb) def __event_cb(self, widget, event): if event.type in (Gdk.EventType.TOUCH_BEGIN, Gdk.EventType.TOUCH_CANCEL, Gdk.EventType.TOUCH_END, - Gdk.EventType.TOUCH_UPDATE): - x = event.touch.x - y = event.touch.y + Gdk.EventType.TOUCH_UPDATE, Gdk.EventType.BUTTON_PRESS, + Gdk.EventType.BUTTON_RELEASE, Gdk.EventType.MOTION_NOTIFY): + x = event.get_coords()[1] + y = event.get_coords()[2] seq = str(event.touch.sequence) if event.type in (Gdk.EventType.TOUCH_BEGIN, - Gdk.EventType.TOUCH_UPDATE): + Gdk.EventType.TOUCH_UPDATE, Gdk.EventType.BUTTON_PRESS, + Gdk.EventType.MOTION_NOTIFY): self.touches[seq] = (x, y) - elif event.type == Gdk.EventType.TOUCH_END: + elif event.type in (Gdk.EventType.TOUCH_END, + Gdk.EventType.BUTTON_RELEASE): del self.touches[seq] self.queue_draw() |