aboutsummaryrefslogtreecommitdiff
path: root/utility
diff options
context:
space:
mode:
Diffstat (limited to 'utility')
-rw-r--r--utility/mouse.py12
1 files changed, 9 insertions, 3 deletions
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)