wip: Custom palette for built in theme

This commit is contained in:
Ashley Wulber 2022-09-07 11:56:11 -04:00 committed by Héctor Ramón Jiménez
parent 231d2fd845
commit e2166ecad0
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
6 changed files with 39 additions and 7 deletions

View file

@ -1,5 +1,6 @@
pub mod palette;
use self::palette::Extended;
pub use self::palette::Palette;
use crate::application;
@ -20,10 +21,14 @@ use crate::toggler;
use iced_core::{Background, Color};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum Theme {
Light,
Dark,
Custom {
palette: Palette,
extended: Extended
}
}
impl Theme {
@ -31,6 +36,7 @@ impl Theme {
match self {
Self::Light => Palette::LIGHT,
Self::Dark => Palette::DARK,
Self::Custom { palette, .. } => palette
}
}
@ -38,6 +44,7 @@ impl Theme {
match self {
Self::Light => &palette::EXTENDED_LIGHT,
Self::Dark => &palette::EXTENDED_DARK,
Self::Custom { extended, .. } => extended,
}
}
}

View file

@ -58,6 +58,7 @@ impl Palette {
};
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Extended {
pub background: Background,
pub primary: Primary,
@ -95,7 +96,7 @@ impl Extended {
}
}
#[derive(Debug, Clone, Copy)]
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Pair {
pub color: Color,
pub text: Color,
@ -110,6 +111,7 @@ impl Pair {
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Background {
pub base: Pair,
pub weak: Pair,
@ -129,6 +131,7 @@ impl Background {
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Primary {
pub base: Pair,
pub weak: Pair,
@ -148,6 +151,7 @@ impl Primary {
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Secondary {
pub base: Pair,
pub weak: Pair,
@ -168,6 +172,7 @@ impl Secondary {
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Success {
pub base: Pair,
pub weak: Pair,
@ -187,6 +192,7 @@ impl Success {
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Danger {
pub base: Pair,
pub weak: Pair,