use crate::{
Colour,
graphics::GraphicsSettings,
};
use glium::glutin::{
window::WindowAttributes,
PixelFormatRequirements,
};
#[derive(Clone,Debug)]
pub struct WindowSettings{
pub general:GeneralSettings,
pub window_attributes:WindowAttributes,
pub debug:bool,
pub vsync:bool,
pub pixel_fmt_req:PixelFormatRequirements,
pub graphics_base_settings:GraphicsSettings,
}
impl WindowSettings{
pub fn new()->WindowSettings{
Self{
general:GeneralSettings::new(),
window_attributes:WindowAttributes::default(),
debug:false,
vsync:false,
pixel_fmt_req:PixelFormatRequirements::default(),
graphics_base_settings:GraphicsSettings::new(),
}
}
}
#[derive(Clone,Debug)]
pub struct GeneralSettings{
pub initial_colour:Option<Colour>,
#[cfg(not(feature="lazy"))]
pub updates_per_second:u32,
}
impl GeneralSettings{
pub fn new()->GeneralSettings{
Self{
initial_colour:None,
#[cfg(not(feature="lazy"))]
updates_per_second:50u32,
}
}
}