aboutsummaryrefslogtreecommitdiff
path: root/utility/mouse.py
diff options
context:
space:
mode:
Diffstat (limited to 'utility/mouse.py')
-rw-r--r--utility/mouse.py25
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