add zoom to editor
This commit is contained in:
parent
53a7ed7890
commit
7e1894984c
15
src/main.cpp
15
src/main.cpp
@ -1681,6 +1681,21 @@ static void process_event_editor(SDL_Event event) {
|
|||||||
}
|
}
|
||||||
} break;
|
} 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: {
|
case SDL_EVENT_MOUSE_BUTTON_DOWN: {
|
||||||
if (io.WantCaptureMouse)
|
if (io.WantCaptureMouse)
|
||||||
return;
|
return;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user