pub struct AnimationHandle(/* private fields */);Expand description
Represents a running animation.
Drop all clones of this handle to stop the animation, or call perm to drop the handle
but keep the animation alive until it is stopped from the inside.
Implementations§
Source§impl AnimationHandle
impl AnimationHandle
Sourcepub fn dummy() -> Self
pub fn dummy() -> Self
Create dummy handle that is always in the stopped state.
Note that Option<AnimationHandle> takes up the same space as AnimationHandle and avoids an allocation.
Sourcepub fn perm(self)
pub fn perm(self)
Drops the handle but does not stop.
The animation stays in memory for the duration of the app or until another handle calls stop.
Sourcepub fn is_permanent(&self) -> bool
pub fn is_permanent(&self) -> bool
Sourcepub fn is_stopped(&self) -> bool
pub fn is_stopped(&self) -> bool
If another handle has called stop.
The animation is already dropped or will be dropped in the next app update, this is irreversible.
Sourcepub fn downgrade(&self) -> WeakAnimationHandle
pub fn downgrade(&self) -> WeakAnimationHandle
Create a weak handle.
Sourcepub fn hook_animation_stop(
&self,
handler: SmallBox<dyn FnMut() + Send + 'static, S4>,
) -> VarHandle
pub fn hook_animation_stop( &self, handler: SmallBox<dyn FnMut() + Send + 'static, S4>, ) -> VarHandle
Register a handler to be called once when the animation stops.
Returns the handler if the animation has already stopped.
Trait Implementations§
Source§impl Clone for AnimationHandle
impl Clone for AnimationHandle
Source§fn clone(&self) -> AnimationHandle
fn clone(&self) -> AnimationHandle
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AnimationHandle
impl Debug for AnimationHandle
Source§impl Hash for AnimationHandle
impl Hash for AnimationHandle
Source§impl PartialEq for AnimationHandle
impl PartialEq for AnimationHandle
impl Eq for AnimationHandle
impl StructuralPartialEq for AnimationHandle
Auto Trait Implementations§
impl Freeze for AnimationHandle
impl !RefUnwindSafe for AnimationHandle
impl Send for AnimationHandle
impl Sync for AnimationHandle
impl Unpin for AnimationHandle
impl !UnwindSafe for AnimationHandle
Blanket Implementations§
Source§impl<T> AnyVarValue for T
impl<T> AnyVarValue for T
Source§fn clone_boxed(&self) -> BoxAnyVarValue
fn clone_boxed(&self) -> BoxAnyVarValue
Clone the value.
Source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
Gets if
self and other are equal.Source§fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
Swap value with
other if both are of the same type.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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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