pub struct MotionSpring {
pub damping_ratio: f64,
pub stiffness: f64,
}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.
A physics spring’s damping ratio and stiffness (mass is implicitly 1.0
for every preset; see module docs).
Fields§
§damping_ratio: f64§stiffness: f64Trait Implementations§
Source§impl Clone for MotionSpring
impl Clone for MotionSpring
Source§fn clone(&self) -> MotionSpring
fn clone(&self) -> MotionSpring
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 MotionSpring
Source§impl Debug for MotionSpring
impl Debug for MotionSpring
Source§impl From<MotionSpring> for SpringDesc
Converts a MotionSpring token into the generic physics type
AnimationController::fling/
Spring::new consume.
impl From<MotionSpring> for SpringDesc
Converts a MotionSpring token into the generic physics type
AnimationController::fling/
Spring::new consume.
Mass is always 1.0 — every preset (this crate’s and each design
system’s own) is defined purely in terms of damping ratio + stiffness, so
mass has no token-level source to convert from.
Source§fn from(spring: MotionSpring) -> SpringDesc
fn from(spring: MotionSpring) -> SpringDesc
Source§impl PartialEq for MotionSpring
impl PartialEq for MotionSpring
impl StructuralPartialEq for MotionSpring
Auto Trait Implementations§
impl Freeze for MotionSpring
impl RefUnwindSafe for MotionSpring
impl Send for MotionSpring
impl Sync for MotionSpring
impl Unpin for MotionSpring
impl UnsafeUnpin for MotionSpring
impl UnwindSafe for MotionSpring
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.