Struct Animation

Source
pub struct Animation {
    pub name: Atom,
    pub started_at: f64,
    pub duration: f64,
    pub delay: f64,
    pub fill_mode: T,
    pub iteration_state: KeyframesIterationState,
    pub state: AnimationState,
    pub direction: T,
    pub current_direction: T,
    pub cascade_style: Arc<ComputedValues>,
    pub is_new: bool,
    /* private fields */
}
Expand description

A CSS Animation

Fields§

§name: Atom

The name of this animation as defined by the style.

§started_at: f64

The time this animation started at, which is the current value of the animation timeline when this animation was created plus any animation delay.

§duration: f64

The duration of this animation.

§delay: f64

The delay of the animation.

§fill_mode: T

The animation-fill-mode property of this animation.

§iteration_state: KeyframesIterationState

The current iteration state for the animation.

§state: AnimationState

Whether this animation is paused.

§direction: T

The declared animation direction of this animation.

§current_direction: T

The current animation direction. This can only be normal or reverse.

§cascade_style: Arc<ComputedValues>

The original cascade style, needed to compute the generated keyframes of the animation.

§is_new: bool

Whether or not this animation is new and or has already been tracked by the script thread.

Implementations§

Source§

impl Animation

Source

pub fn iterate_if_necessary(&mut self, time: f64) -> bool

Given the current time, advances this animation to the next iteration, updates times, and then toggles the direction if appropriate. Otherwise does nothing. Returns true if this animation has iterated.

Source

pub fn current_iteration_end_progress(&self) -> f64

A number (> 0 and <= 1) which represents the fraction of a full iteration that the current iteration of the animation lasts. This will be less than 1 if the current iteration is the fractional remainder of a non-integral iteration count.

Source

pub fn current_iteration_duration(&self) -> f64

The duration of the current iteration of this animation which may be less than the animation duration if it has a non-integral iteration count.

Source

pub fn has_ended(&self, time: f64) -> bool

Whether or not this animation has finished at the provided time. This does not take into account canceling i.e. when an animation or transition is canceled due to changes in the style.

Source

pub fn update_from_other(&mut self, other: &Self, now: f64)

Updates the appropiate state from other animation.

This happens when an animation is re-submitted to layout, presumably because of an state change.

There are some bits of state we can’t just replace, over all taking in account times, so here’s that logic.

Trait Implementations§

Source§

impl Clone for Animation

Source§

fn clone(&self) -> Animation

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Animation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl MallocSizeOf for Animation

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Measure the heap usage of all descendant heap-allocated structures, but not the space taken up by the value itself.

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, dest: *mut u8)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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
Source§

impl<T> MaybeBoxed<Box<T>> for T

Source§

fn maybe_boxed(self) -> Box<T>

Convert
Source§

impl<T> MaybeBoxed<T> for T

Source§

fn maybe_boxed(self) -> T

Convert
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

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.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T