Struct style::animation::Animation

source ·
pub struct Animation {
Show 13 fields pub name: Atom, properties_changed: PropertyDeclarationIdSet, computed_steps: Box<[ComputedKeyframe]>, 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,
}
Expand description

A CSS Animation

Fields§

§name: Atom

The name of this animation as defined by the style.

§properties_changed: PropertyDeclarationIdSet

The properties that change in this animation.

§computed_steps: Box<[ComputedKeyframe]>

The computed style for each keyframe of this animation.

§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

fn is_cancelled_in_new_style(&self, new_style: &Arc<ComputedValues>) -> bool

Whether or not this animation is cancelled by changes from a new style.

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

fn iterate(&mut self)

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

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

Whether or not the current iteration is over. Note that this method assumes that the animation is still running.

source

fn on_last_iteration(&self) -> bool

Assuming this animation is running, whether or not it is on the last iteration.

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.

source

fn get_property_declaration_at_time( &self, now: f64, map: &mut AnimationValueMap, )

Fill in an AnimationValueMap with values calculated from this animation at the given time value.

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
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, 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.

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> MaybeSendSync for T