pub struct NumberWheel {
pub value: String,
pub spin: WheelSpin,
pub duration: f64,
pub delay: f64,
pub stagger_per_column: f64,
pub easing: EasingType,
pub timing: TimingConfig,
pub style: CssStyle,
pub timeline: Vec<TimelineStep>,
pub stagger: Option<f32>,
}number_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
Expand description
An odometer-style number where each digit rolls into place.
Fields§
§value: Stringnumber_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
The figure to land on, as written — "30,222", "5.7", "98%".
Digits roll; every other character (separators, signs, units) is
painted where it stands.
spin: WheelSpinnumber_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
How far each reel travels before landing.
duration: f64number_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
How long one reel takes to land (seconds).
delay: f64number_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
Delay before the first reel starts (seconds).
stagger_per_column: f64number_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
Extra delay per digit column, left to right (seconds). 0 lands
every reel at once, which reads as a single flip rather than as a
counter settling.
easing: EasingTypenumber_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
Easing of a reel’s travel. The default decelerates into the landing, which is what makes it read as mechanical rather than as a fade.
timing: TimingConfignumber_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
style: CssStylenumber_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
timeline: Vec<TimelineStep>number_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
stagger: Option<f32>number_wheel is in the frozen-composition set (issue #333), but crates/rustmotion/skills/rules/composition-recipes.md flags it (with gauge) as a reasonable exception to keep using directly: reproducing genuine per-digit scroll physics from card/text/shape primitives is mechanically harder than the odometer effect itself. Kept for compatibility; scheduled for removal in a future major version via rustmotion migrate (#335).
Trait Implementations§
Source§impl Animatable for NumberWheel
impl Animatable for NumberWheel
fn animation_effects(&self) -> &[AnimationEffect]
fn timeline_steps(&self) -> &[TimelineStep]
Source§impl Debug for NumberWheel
impl Debug for NumberWheel
Source§impl<'de> Deserialize<'de> for NumberWheel
impl<'de> Deserialize<'de> for NumberWheel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for NumberWheel
impl JsonSchema for NumberWheel
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl Painter for NumberWheel
impl Painter for NumberWheel
fn paint_content( &self, canvas: &Canvas, layout: &BoxLayout, props: &AnimatedProperties, ctx: &PaintCtx, )
fn intrinsic_size( &self, _available: AvailableSize, _ctx: &MeasureCtx, ) -> Option<(f32, f32)>
Source§impl Serialize for NumberWheel
impl Serialize for NumberWheel
Source§impl Styled for NumberWheel
impl Styled for NumberWheel
fn style_config(&self) -> &CssStyle
Source§impl StyledMut for NumberWheel
impl StyledMut for NumberWheel
fn style_config_mut(&mut self) -> &mut CssStyle
Auto Trait Implementations§
impl Freeze for NumberWheel
impl RefUnwindSafe for NumberWheel
impl Send for NumberWheel
impl Sync for NumberWheel
impl Unpin for NumberWheel
impl UnsafeUnpin for NumberWheel
impl UnwindSafe for NumberWheel
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<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more