#[derive(Clone, Copy, Debug, PartialEq)]
pub enum CameraScaling {
Stretch = 1,
Linear = 2,
Circle = 3,
Limited = 4,
Expand = 5,
}
impl Default for CameraScaling {
fn default() -> Self {
Self::Stretch
}
}
#[derive(Clone, Copy)]
pub struct CameraSettings {
pub zoom: f32,
pub mode: CameraScaling,
}
impl Default for CameraSettings {
fn default() -> Self {
Self {
zoom: 1.0,
mode: CameraScaling::Stretch,
}
}
}
impl CameraSettings {
#[inline]
pub fn zoom(mut self, zoom: f32) -> Self {
self.zoom = zoom;
self
}
#[inline]
pub fn mode(mut self, mode: CameraScaling) -> Self {
self.mode = mode;
self
}
}