From f82ad4c514d8aaacb63802c42f46eb68cbb8cba7 Mon Sep 17 00:00:00 2001 From: ghostly_zsh Date: Sat, 25 Jan 2025 19:37:14 -0600 Subject: [PATCH] zoom fixed --- crates/client/src/lib.rs | 8 ++------ crates/client/src/rendering/assets_wasm.rs | 2 -- crates/client/src/rendering/renderer.rs | 5 ++++- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/crates/client/src/lib.rs b/crates/client/src/lib.rs index 56bea3221f85c6dab3819a863e17a541f9e4392a..c4a283d9903b01013a4870bc1fcd239d00f230a2 100644 --- a/crates/client/src/lib.rs +++ b/crates/client/src/lib.rs @@ -99,13 +99,9 @@ fn zoom_camera_on_mouse_events(mut events: EventReader, mut cam MouseWheelEvent::Pixel { y, ..} => *y, } as f32; - let delta = if raw_delta < 0.0 { - raw_delta * -0.9 - } else { - raw_delta * 1.1 - }; + let delta = 1.1; - if delta < 0.0 { + if raw_delta < 0.0 { camera.zoom *= 1.0 / delta; } else { camera.zoom *= delta; diff --git a/crates/client/src/rendering/assets_wasm.rs b/crates/client/src/rendering/assets_wasm.rs index 98c4040898c8f7728bcfdcc09ff06f8f8fa85b23..e3db11cad3cb3d3bb7d044e42049b6622b0f2a94 100644 --- a/crates/client/src/rendering/assets_wasm.rs +++ b/crates/client/src/rendering/assets_wasm.rs @@ -87,10 +87,8 @@ impl Assets { let tree_size = tree.size().to_int_size(); let size = usvg::Size::from_wh(100.0, 100.0).unwrap().to_int_size(); assert!(size.width() > 0 && size.height() > 0); - tracing::warn!("{:?}", size); let mut pixmap = tiny_skia::Pixmap::new(size.width(), size.height()).expect("Failed to construct pixmap"); resvg::render(&tree, tiny_skia::Transform::from_scale((size.width() as f32)/(tree_size.height() as f32), (size.height() as f32)/(tree_size.height() as f32)), &mut pixmap.as_mut()); - tracing::warn!("{:?}", pixmap.data()); let data = ImgData { bytes: pixmap.data().to_vec(), width: size.width(), diff --git a/crates/client/src/rendering/renderer.rs b/crates/client/src/rendering/renderer.rs index 0e9e70bc474fef5b88ed0df1650fb65541dc3fd1..e5675427706d45d49db102456d616c1e3b223ff7 100644 --- a/crates/client/src/rendering/renderer.rs +++ b/crates/client/src/rendering/renderer.rs @@ -273,11 +273,14 @@ impl Renderer { let cam = self.world.resource::(); + let x = -cam.x*cam.zoom + self.logical_size.width as f32/2.0; + let y = -cam.y*cam.zoom + self.logical_size.height as f32/2.0; + let mut frame_uniform = vec![]; let frame_uniform_values = [ cam.zoom, cam.shear_y,0.0, 0.0, cam.shear_x,cam.zoom, 0.0, 0.0, - cam.x, cam.y, 1.0, 0.0, + x, y, 1.0, 0.0, self.logical_size.width as f32, self.logical_size.height as f32, 0.0, 0.0]; for i in frame_uniform_values { let mut bytes = i.to_ne_bytes().to_vec();