From 7e1894984c1312c5c77352b102eebb95c225d306 Mon Sep 17 00:00:00 2001 From: Sven Balzer <4653051+Kyuusokuna@users.noreply.github.com> Date: Sat, 18 Apr 2026 14:52:11 +0200 Subject: [PATCH] add zoom to editor --- src/main.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index afa6f02..dc93fdf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1681,6 +1681,21 @@ static void process_event_editor(SDL_Event event) { } } break; + case SDL_EVENT_MOUSE_WHEEL: { + vec2 floor_pos_before = get_floor_intersection_of_mouse(vec2(event.wheel.mouse_x, event.wheel.mouse_y)); + editor_camera_distance = SDL_max(0.2, editor_camera_distance - event.wheel.y * SDL_sqrt(editor_camera_distance)); + + view_matrix = view (vec3(editor_camera_position, 0), 0, editor_camera_distance); + inverse_view_matrix = inverse_view(vec3(editor_camera_position, 0), 0, editor_camera_distance); + + vec2 floor_pos_after = get_floor_intersection_of_mouse(vec2(event.wheel.mouse_x, event.wheel.mouse_y)); + + editor_camera_position += floor_pos_before - floor_pos_after; + + view_matrix = view (vec3(editor_camera_position, 0), 0, editor_camera_distance); + inverse_view_matrix = inverse_view(vec3(editor_camera_position, 0), 0, editor_camera_distance); + } break; + case SDL_EVENT_MOUSE_BUTTON_DOWN: { if (io.WantCaptureMouse) return;