Skip to main content

Theme

Struct Theme 

Source
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

Source

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());
Source

pub fn dark() -> Theme

A dark theme that defines every built-in token.

Source

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.

Source

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§

Source§

impl Clone for Theme

Source§

fn clone(&self) -> Theme

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Theme

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Theme

Source§

fn eq(&self, other: &Theme) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.