This commit is contained in:
Hanno Braun 2024-11-14 17:35:43 +01:00
parent 6fa8109bf6
commit 5538be6a30
2 changed files with 7 additions and 15 deletions

View File

@ -5,7 +5,7 @@ use crate::{
NormalizedScreenPosition,
};
use super::{rotation::Rotation, zoom::Zoom, InputEvent};
use super::{rotation::Rotation, zoom, InputEvent};
/// Input handling abstraction
///
@ -28,7 +28,7 @@ impl InputHandler {
Rotation::apply(angle_x, angle_y, focus_point, camera);
}
InputEvent::Zoom(zoom_delta) => {
Zoom::apply(zoom_delta, focus_point, camera);
zoom::apply(zoom_delta, focus_point, camera);
}
}
}

View File

@ -2,17 +2,9 @@ use fj_math::{Transform, Vector};
use crate::camera::{Camera, FocusPoint};
pub struct Zoom;
impl Zoom {
pub fn apply(
zoom_delta: f64,
focus_point: FocusPoint,
camera: &mut Camera,
) {
let distance = (focus_point.0 - camera.position()).magnitude();
let displacement = zoom_delta * distance.into_f64();
camera.translation = camera.translation
* Transform::translation(Vector::from([0.0, 0.0, displacement]));
}
pub fn apply(zoom_delta: f64, focus_point: FocusPoint, camera: &mut Camera) {
let distance = (focus_point.0 - camera.position()).magnitude();
let displacement = zoom_delta * distance.into_f64();
camera.translation = camera.translation
* Transform::translation(Vector::from([0.0, 0.0, displacement]));
}