M crates/client/src/lib.rs => crates/client/src/lib.rs +2 -6
@@ 99,13 99,9 @@ fn zoom_camera_on_mouse_events(mut events: EventReader<MouseWheelEvent>, 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;
M crates/client/src/rendering/assets_wasm.rs => crates/client/src/rendering/assets_wasm.rs +0 -2
@@ 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(),
M crates/client/src/rendering/renderer.rs => crates/client/src/rendering/renderer.rs +4 -1
@@ 273,11 273,14 @@ impl<T: UiRenderable> Renderer<T> {
let cam = self.world.resource::<Camera>();
+ 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();