From b741202111d3e123ca38603d4e9d2ed676a4b4de Mon Sep 17 00:00:00 2001 From: nullprop Date: Sun, 2 Oct 2022 22:32:32 +0300 Subject: [PATCH] camera speed, window settings --- src/core/camera.rs | 20 +++++++++++++++++++- src/core/updater.rs | 3 +++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/core/camera.rs b/src/core/camera.rs index f325fa7..56aeb8b 100644 --- a/src/core/camera.rs +++ b/src/core/camera.rs @@ -1,7 +1,7 @@ use std::time::Duration; use cgmath::num_traits::clamp; -use winit::event::*; +use winit::{dpi::PhysicalPosition, event::*}; pub struct Camera { pub position: cgmath::Point3, @@ -211,6 +211,24 @@ impl CameraController { _ => false, } } + WindowEvent::MouseWheel { delta, .. } => match delta { + MouseScrollDelta::LineDelta(_, scroll) => { + if *scroll > 0.0 { + self.speed *= 2.0; + } else { + self.speed /= 2.0; + } + return true; + } + MouseScrollDelta::PixelDelta(PhysicalPosition { y: scroll, .. }) => { + if *scroll > 0.0 { + self.speed *= 2.0; + } else { + self.speed /= 2.0; + } + return true; + } + }, _ => false, }, }; diff --git a/src/core/updater.rs b/src/core/updater.rs index 0888d98..70f15a0 100644 --- a/src/core/updater.rs +++ b/src/core/updater.rs @@ -10,6 +10,9 @@ use winit::{ pub async fn run() { let event_loop = EventLoop::new(); let window = WindowBuilder::new().build(&event_loop).unwrap(); + window.set_cursor_grab(true).unwrap(); + window.set_cursor_visible(false); + window.set_decorations(false); let mut state = State::new(&window).await; let mut last_render = Instant::now();