zng_var::animation

Struct Animation

source
pub struct Animation(/* private fields */);
Expand description

Represents an animation in its closure.

See the VARS.animate method for more details.

Implementations§

source§

impl Animation

source

pub fn start_time(&self) -> DInstant

The instant this animation (re)started.

source

pub fn now(&self) -> DInstant

The instant the current animation update started.

Use this value instead of INSTANT.now, animations update sequentially, but should behave as if they are updating exactly in parallel, using this timestamp ensures that.

source

pub fn time_scale(&self) -> Factor

Global time scale for animations.

source

pub fn sleep(&self, duration: Duration)

Set the duration to the next animation update. The animation will sleep until duration elapses.

The animation awakes in the next VARS.frame_duration after the duration elapses. The minimum possible duration is the frame duration, shorter durations behave the same as if not set.

source

pub fn animations_enabled(&self) -> bool

Returns a value that indicates if animations are enabled in the operating system.

If false all animations must be skipped to the end, users with photo-sensitive epilepsy disable animations system wide.

source

pub fn force_enable(&self)

Set animations_enabled to true.

This should only be used for animations that are component of an app feature, cosmetic animations must not force enable.

source

pub fn elapsed_dur(&self) -> Duration

Compute the time elapsed from start_time to now.

source

pub fn elapsed(&self, duration: Duration) -> EasingTime

Compute the elapsed EasingTime, in the span of the total duration, if animations_enabled.

If animations are disabled, returns EasingTime::end, the returned time is scaled.

source

pub fn elapsed_stop(&self, duration: Duration) -> EasingTime

Compute the elapsed EasingTime, if the time is_end requests animation stop.

source

pub fn elapsed_restart(&self, duration: Duration) -> EasingTime

Compute the elapsed EasingTime, if the time is_end restarts the animation.

source

pub fn elapsed_restart_stop( &self, duration: Duration, max_restarts: usize, ) -> EasingTime

Compute the elapsed EasingTime, if the time is_end restarts the animation, repeats until has restarted max_restarts inclusive, then stops the animation.

source

pub fn stop(&self)

Drop the animation after applying the current update.

source

pub fn stop_requested(&self) -> bool

If the animation will be dropped after applying the update.

source

pub fn restart(&self)

Set the animation start time to now.

source

pub fn restart_count(&self) -> usize

Number of times the animation restarted.

source

pub fn set_start_time(&self, instant: DInstant)

Change the start time to an arbitrary value.

Note that this does not affect the restart count.

source

pub fn set_elapsed(&self, elapsed: EasingTime, duration: Duration)

Change the start to an instant that computes the elapsed for the duration at the moment this method is called.

Note that this does not affect the restart count.

Trait Implementations§

source§

impl Clone for Animation

source§

fn clone(&self) -> Animation

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more