godoru 0.1.0

UI Framework for Rust using Godot
#[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),
}