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
impl Animation
sourcefn is_cancelled_in_new_style(&self, new_style: &Arc<ComputedValues>) -> bool
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.
sourcepub fn iterate_if_necessary(&mut self, time: f64) -> bool
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.
fn iterate(&mut self)
sourcepub fn current_iteration_end_progress(&self) -> f64
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.
sourcepub fn current_iteration_duration(&self) -> f64
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.
sourcefn iteration_over(&self, time: f64) -> bool
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.
sourcefn on_last_iteration(&self) -> bool
fn on_last_iteration(&self) -> bool
Assuming this animation is running, whether or not it is on the last iteration.
sourcepub fn has_ended(&self, time: f64) -> bool
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.
sourcepub fn update_from_other(&mut self, other: &Self, now: f64)
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.
sourcefn get_property_declaration_at_time(
&self,
now: f64,
map: &mut AnimationValueMap,
)
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 MallocSizeOf for Animation
impl MallocSizeOf for Animation
source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Auto Trait Implementations§
impl Freeze for Animation
impl !RefUnwindSafe for Animation
impl Send for Animation
impl Sync for Animation
impl Unpin 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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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>
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>
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