pub struct Theme {
pub colors: HashMap<&'static str, Color>,
pub radii: HashMap<&'static str, f32>,
/* private fields */
}Expand description
The values that theme tokens resolve against.
The maps are keyed by the token names, so an application can add its own
tokens by inserting under names of its own. Built-in themes come from
Theme::light and Theme::dark.
Fields§
§colors: HashMap<&'static str, Color>The colors, keyed by ColorToken name.
radii: HashMap<&'static str, f32>The corner radii in logical pixels, keyed by RadiusToken name.
Implementations§
Source§impl Theme
impl Theme
Sourcepub fn light() -> Theme
pub fn light() -> Theme
A light theme that defines every built-in token.
use smudge_core::theme::{ColorToken, Theme};
let theme = Theme::light();
let surface = theme.color(ColorToken::SURFACE);
assert!(surface.is_opaque());Sourcepub fn color(&self, token: ColorToken) -> Color
pub fn color(&self, token: ColorToken) -> Color
Returns the color token resolves to.
§Panics
Panics in debug builds when the theme does not define the token. A release build falls back to magenta, which shows the mistake on screen.
Sourcepub fn radius(&self, token: RadiusToken) -> f32
pub fn radius(&self, token: RadiusToken) -> f32
Returns the radius in logical pixels that token resolves to.
§Panics
Panics in debug builds when the theme does not define the token. A release build falls back to zero, which gives square corners.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Theme
impl !RefUnwindSafe for Theme
impl !Sync for Theme
impl Forget for Theme
impl Move for Theme
impl Send for Theme
impl Unpin for Theme
impl UnsafeUnpin for Theme
impl UnwindSafe for Theme
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more