use kurbo::Size;
use crate::insets::WindowInsets;
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct WindowMetrics {
pub size: Size,
pub scale: f64,
pub orientation: Orientation,
pub insets: WindowInsets,
}
impl WindowMetrics {
pub fn new(size: Size, scale: f64, insets: WindowInsets) -> Self {
Self {
size,
scale,
orientation: Orientation::from_size(size),
insets,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Orientation {
Portrait,
Landscape,
}
impl Orientation {
pub fn from_size(size: Size) -> Self {
if size.height >= size.width {
Orientation::Portrait
} else {
Orientation::Landscape
}
}
}