--- 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,
+ )
}
}