pub struct StatusColors {
pub success: AlphaColor<Srgb>,
pub on_success: AlphaColor<Srgb>,
pub success_container: AlphaColor<Srgb>,
pub on_success_container: AlphaColor<Srgb>,
pub warning: AlphaColor<Srgb>,
pub on_warning: AlphaColor<Srgb>,
pub warning_container: AlphaColor<Srgb>,
pub on_warning_container: AlphaColor<Srgb>,
pub info: AlphaColor<Srgb>,
pub on_info: AlphaColor<Srgb>,
pub info_container: AlphaColor<Srgb>,
pub on_info_container: AlphaColor<Srgb>,
}Expand description
The design-token vocabulary: the Theme bundle plus its
component token tables, flat-re-exported from frust-theme so app code
never names that crate directly. A root component reads the active theme via
use_context::<Theme>(); a widget reads it during paint/layout via
PaintCtx::theme_as/LayoutCtx::theme_as (or Theme::from_paint_ctx).
Includes the glass material tokens — this crate ships the opaque recipe, and a design system authors its own translucent one over the same types:
use frust::GlassScale;
let glass = GlassScale::opaque_material();
assert_eq!(glass.chrome.blur_radius_intent, 0.0);
assert!(glass.control.is_opaque());Also the composable-theming surface:
ThemeBuilder (defineTheme/copyWith analog), the no-lock-in typed
extension slot (ThemeExtensions) plus its first consumer
StatusPalette/StatusColors (success/warning/info), and the motion
vocabulary (MotionDurations/EasingSet) — all flat-re-exported so an
app (or a design-system plugin) authors a theme against frust::* alone.
One brightness’s worth of success/warning/info color roles, mirroring
ColorScheme’s error/on_error/error_container/on_error_container
shape for each of the three statuses.
Fields§
§success: AlphaColor<Srgb>§on_success: AlphaColor<Srgb>§success_container: AlphaColor<Srgb>§on_success_container: AlphaColor<Srgb>§warning: AlphaColor<Srgb>§on_warning: AlphaColor<Srgb>§warning_container: AlphaColor<Srgb>§on_warning_container: AlphaColor<Srgb>§info: AlphaColor<Srgb>§on_info: AlphaColor<Srgb>§info_container: AlphaColor<Srgb>§on_info_container: AlphaColor<Srgb>Trait Implementations§
Source§impl Clone for StatusColors
impl Clone for StatusColors
Source§fn clone(&self) -> StatusColors
fn clone(&self) -> StatusColors
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for StatusColors
Source§impl Debug for StatusColors
impl Debug for StatusColors
Source§impl PartialEq for StatusColors
impl PartialEq for StatusColors
impl StructuralPartialEq for StatusColors
Auto Trait Implementations§
impl Freeze for StatusColors
impl RefUnwindSafe for StatusColors
impl Send for StatusColors
impl Sync for StatusColors
impl Unpin for StatusColors
impl UnsafeUnpin for StatusColors
impl UnwindSafe for StatusColors
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.