From 10393d2c27ea60e3fa8e7b76ecf9abe06832b726 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sun, 22 Sep 2019 21:04:00 +0200 Subject: Extract projection, add zoom support --- utility/mouse.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'utility') diff --git a/utility/mouse.py b/utility/mouse.py index c36d7e8..29d660d 100644 --- a/utility/mouse.py +++ b/utility/mouse.py @@ -1,10 +1,11 @@ from OpenGL.GLUT import * class MouseDragMonitor: - def __init__(self, button, callback): + def __init__(self, button, drag_callback, zoom_callback): self.button = button - self.callback = callback self.active = False + self.drag_callback = drag_callback + self.zoom_callback = zoom_callback def on_mouse(self, button, state, x, y): if button == self.button: @@ -12,10 +13,15 @@ class MouseDragMonitor: self.last_x = x self.last_y = y + if button == 3: + self.zoom_callback(-1.0) + elif button == 4: + self.zoom_callback(1.0) + def on_mouse_move(self, x, y): if self.active: delta_x = self.last_x - x delta_y = y - self.last_y self.last_x = x self.last_y = y - self.callback(delta_x, delta_y) + self.drag_callback(delta_x, delta_y) -- cgit v1.2.3