Expand description
Theme types for the zest GUI framework.
Mirrors libcosmic’s grouped structure:
Container<C>holds colors for a region (background, foreground, divider) — used forTheme::background,Theme::primary,Theme::secondary.Component<C>holds the four-state colors for an interactive element (base, hovered, pressed, focused) plus a foreground color for content drawn on top — used forTheme::accent,Theme::button,Theme::destructive, etc.Palette<C>holds the named primitive colors (neutral_0 through neutral_10, accent_blue, etc.) the theme is derived from.Spacingholds the design-system spacing scale (space_xs through space_xxxl).CornerRadiiholds the corner-radius scale (radius_xs through radius_xl).
Theme<'a, C> is generic over a
embedded_graphics::pixelcolor::PixelColor and a lifetime for
font references (which are typically &'static MonoFont<'static>).
Re-exports§
pub use component::Component;pub use container::Container;pub use convert::convert_theme;pub use corner_radii::CornerRadii;pub use font::FONT_ZEST_MONO;pub use font::FONT_ZEST_MONO_CAPTION;pub use font::FONT_ZEST_MONO_DISPLAY;pub use font::FONT_ZEST_MONO_HEADING;pub use palette::Palette;pub use spacing::Spacing;pub use style::ButtonAppearance;pub use style::ButtonCatalog;pub use style::ButtonClass;pub use style::Status;pub use theme::Theme;pub use typography::Typography;
Modules§
- component
Component: per-state colors for an interactive element.- container
Container: colors for a non-interactive region.- convert
- Convert themes defined in
Rgb888to any targetPixelColor. - corner_
radii CornerRadii: design-system corner-radius scale.- font
- Zest default bitmap mono fonts — GENERATED, DO NOT EDIT BY HAND.
- palette
Palette: named primitive colors a theme is derived from.- spacing
Spacing: design-system spacing scale in pixels.- style
- Catalog/Status/Appearance pattern, modeled on libcosmic but trimmed for embedded touch:
- theme
- Top-level
Themetype plus preset theme modules. - typography
- Bitmap typography scale — four monospace font sizes the theme
exposes by role, so widgets can ask for
theme.typography.displayortheme.typography.bodywithout picking aMonoFontconstant directly.