pub struct ElevationLevel {
pub dp: f64,
pub shadow_light: ShadowSpec,
pub shadow_dark: ShadowSpec,
pub surface_role: SurfaceRole,
}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 elevation level: its dp value, per-brightness v1 shadow specs, and
surface-container role.
Fields§
§dp: f64§shadow_light: ShadowSpecShadow rendered on Brightness::Light.
shadow_dark: ShadowSpecShadow rendered on Brightness::Dark.
surface_role: SurfaceRoleImplementations§
Source§impl ElevationLevel
impl ElevationLevel
Sourcepub fn shadow(&self, brightness: Brightness) -> &ShadowSpec
pub fn shadow(&self, brightness: Brightness) -> &ShadowSpec
The ShadowSpec to render for the given brightness.
Trait Implementations§
Source§impl Clone for ElevationLevel
impl Clone for ElevationLevel
Source§fn clone(&self) -> ElevationLevel
fn clone(&self) -> ElevationLevel
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 ElevationLevel
Source§impl Debug for ElevationLevel
impl Debug for ElevationLevel
Source§impl PartialEq for ElevationLevel
impl PartialEq for ElevationLevel
impl StructuralPartialEq for ElevationLevel
Auto Trait Implementations§
impl Freeze for ElevationLevel
impl RefUnwindSafe for ElevationLevel
impl Send for ElevationLevel
impl Sync for ElevationLevel
impl Unpin for ElevationLevel
impl UnsafeUnpin for ElevationLevel
impl UnwindSafe for ElevationLevel
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.