diff options
Diffstat (limited to 'utility/mouse.py')
-rw-r--r-- | utility/mouse.py | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/utility/mouse.py b/utility/mouse.py index 29d660d..5d7dd5d 100644 --- a/utility/mouse.py +++ b/utility/mouse.py @@ -1,11 +1,10 @@ from OpenGL.GLUT import * class MouseDragMonitor: - def __init__(self, button, drag_callback, zoom_callback): + def __init__(self, button, callback): self.button = button self.active = False - self.drag_callback = drag_callback - self.zoom_callback = zoom_callback + self.callback = callback def on_mouse(self, button, state, x, y): if button == self.button: @@ -13,15 +12,23 @@ 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.drag_callback(delta_x, delta_y) + self.callback(delta_x, delta_y) + +class MouseScrollMonitor: + def __init__(self, callback): + self.callback = callback + + def on_mouse(self, button, state, x, y): + if button == 3: + self.callback(-1.0) + elif button == 4: + self.callback(1.0) + + def on_mouse_move(self, x, y): + pass |