use magma_math::{IVec2, UVec2};
#[derive(Clone, PartialEq, Debug, Default)]
pub struct Monitor {
pub name: Option<String>,
pub height: u32,
pub width: u32,
pub position: IVec2,
pub refresh_rate: Option<u32>,
pub scale_factor: f64,
pub video_modes: Vec<VideoMode>,
pub id: usize,
}
impl Monitor {
pub fn size(&self) -> UVec2 {
UVec2::new(self.width, self.height)
}
}
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Default)]
pub struct PrimaryMonitor;
#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug, Default)]
pub struct VideoMode {
pub size: UVec2,
pub bit_depth: u16,
pub refresh_rate: u32,
}