rust/lib-hedgewars-engine/src/render/camera.rs
changeset 14709 65c971417780
parent 14708 19358c313ebb
child 14718 5915a199cb81
--- a/rust/lib-hedgewars-engine/src/render/camera.rs	Fri Mar 22 21:09:17 2019 +0300
+++ b/rust/lib-hedgewars-engine/src/render/camera.rs	Fri Mar 22 21:44:06 2019 +0300
@@ -21,6 +21,17 @@
     }
 
     pub fn viewport(&self) -> Rect {
-        Rect::from_size(self.position, self.size)
+        #[inline]
+        fn scale(value: usize, zoom: f32) -> i32 {
+            (value as f32 / zoom / 2.0) as i32
+        }
+        let half_width = scale(self.size.width, self.zoom);
+        let half_height = scale(self.size.height, self.zoom);
+        Rect::from_box(
+            self.position.x - half_width,
+            self.position.x + half_width,
+            self.position.y - half_height,
+            self.position.y + half_height,
+        )
     }
 }