From 94e2603ab58b7a32aa7d1ebe9fb95e2efd350819 Mon Sep 17 00:00:00 2001 From: Garritt McCune Date: Wed, 15 Jul 2020 12:04:47 -0500 Subject: [PATCH] Added scroll wheel support (Linux only right now). --- main.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index 34e2c4a..e622966 100644 --- a/main.py +++ b/main.py @@ -28,18 +28,34 @@ Matrix3x3(Vector3d(1.0,0.0,1.0),Vector3d(0.0,0.0,0.0),Vector3d(1.0,0.0,0.0)) #''' #tris = Mesh() def main(): - #tris.load_obj_file('teddy.obj') + #tris.load_obj_file('shuttle.obj') + ui.scale = 3 ui.thetax = 1 ui.thetaz = 1 ui.window.bind('', left) ui.window.bind('', right) ui.window.bind('', up) ui.window.bind('', down) - ui.window.bind('', mouse_start) + ui.window.bind('', wheel) + ui.window.bind('', wheel) + #ui.window.bind('', mouse_start) ui.canvas.bind('', mouse_end) ui.canvas.old_coords = None ui.window.after(0, draw_scene) ui.show() + +def wheel(event): + # respond to Linux or Windows wheel event + #if event.num == 5 or event.delta == -120: + if event.num == 4: + ui.scale -= .5 + else: + ui.scale += .5 + + if ui.scale < 1.5: + ui.scale = 1.5 + + draw_scene() def left(event): ui.thetaz += .1 @@ -84,7 +100,7 @@ def draw_scene(): rotation_matrix_x = Matrix4x4.get_x_rotation_matrix(ui.thetax) - translation = Matrix4x4.get_translation_matrix(Vector3d(0, 0, 3)) + translation = Matrix4x4.get_translation_matrix(Vector3d(0, 0, ui.scale)) world_matrix = Matrix4x4.get_identity_matrix() world_matrix = rotation_matrix_z.multiply_matrix(rotation_matrix_x)