#[derive(Clone, Debug, PartialEq)]
pub struct AppSettings {
pub lowProcessorMode: bool,
pub vsync: VSync,
pub maxFps: FrameLimit,
pub idleFps: FrameLimit,
pub antialiasing: Antialiasing,
pub msaa: Msaa,
pub textureFilter: TextureFilter,
pub hidpi: bool,
}
impl Default for AppSettings {
fn default() -> Self {
Self {
lowProcessorMode: true,
vsync: VSync::On,
maxFps: FrameLimit::Fps(60),
idleFps: FrameLimit::Fps(15),
antialiasing: Antialiasing::None,
msaa: Msaa::Disabled,
textureFilter: TextureFilter::Nearest,
hidpi: true,
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum Renderer {
Default,
Compatibility,
Mobile,
ForwardPlus,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum VSync {
Off,
On,
Adaptive,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum Antialiasing {
None,
Fxaa,
Taa,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum Msaa {
Disabled,
X2,
X4,
X8,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum TextureFilter {
Nearest,
Linear,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum FrameLimit {
Unlimited,
Fps(u32),
}