#[non_exhaustive]pub struct Animation {
pub current: AnimValue,
pub target: AnimValue,
pub velocity: AnimChannels,
pub timing: Timing,
pub started_at: Instant,
pub last_step: Instant,
pub from: Option<AnimValue>,
}Expand description
In-flight animation state for one (node, prop) pair. Stored on
crate::state::UiState keyed by (ComputedId, AnimProp).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.current: AnimValue§target: AnimValue§velocity: AnimChannels§timing: Timing§started_at: Instant§last_step: Instant§from: Option<AnimValue>For tweens, the value at started_at. Springs are fully
determined by current+velocity, so from stays None.
Implementations§
Source§impl Animation
impl Animation
pub fn new( current: AnimValue, target: AnimValue, timing: Timing, now: Instant, ) -> Self
Sourcepub fn retarget(&mut self, target: AnimValue, now: Instant)
pub fn retarget(&mut self, target: AnimValue, now: Instant)
Re-target a running animation. Current value and velocity carry
over so interrupted motion eases from where it is, not from rest.
For tweens, from snaps to the current sample so the new curve
starts there; the tween clock resets.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Animation
impl RefUnwindSafe for Animation
impl Send for Animation
impl Sync for Animation
impl Unpin for Animation
impl UnsafeUnpin for Animation
impl UnwindSafe for Animation
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.