pub struct KeyframesAnimation {
pub steps: Vec<KeyframesStep>,
pub steps_with_range_name: Vec<KeyframesStep>,
pub properties_changed: PropertyDeclarationIdSet,
pub vendor_prefix: Option<VendorPrefix>,
}Expand description
This structure represents a list of animation steps computed from the list of keyframes, in order.
It only takes into account animable properties.
Fields§
§steps: Vec<KeyframesStep>The different steps of the animation.
steps_with_range_name: Vec<KeyframesStep>The different steps of the animation. Those steps are only for keyframe selectors with timeline range names. We intentionally use a different vector because it is unsorted and we would like to maintain its specified order when grouping them. Also, per spec, the computed order requires us to pull percentage-only keyframes to the front and sort them, so using a separate vector makes it easier to group them to maintain the computed order. https://drafts.csswg.org/css-animations-2/#keyframe-processing https://github.com/w3c/csswg-drafts/issues/8507
properties_changed: PropertyDeclarationIdSetThe properties that change in this animation.
vendor_prefix: Option<VendorPrefix>Vendor prefix type the @keyframes has.
Implementations§
Source§impl KeyframesAnimation
impl KeyframesAnimation
Sourcepub fn from_keyframes(
keyframes: &[Arc<Locked<Keyframe>>],
vendor_prefix: Option<VendorPrefix>,
guard: &SharedRwLockReadGuard<'_>,
) -> Self
pub fn from_keyframes( keyframes: &[Arc<Locked<Keyframe>>], vendor_prefix: Option<VendorPrefix>, guard: &SharedRwLockReadGuard<'_>, ) -> Self
Create a keyframes animation from a given list of keyframes.
This will return a keyframe animation with empty steps and properties_changed if the list of keyframes is empty, or there are no animated properties obtained from the keyframes.
Otherwise, this will compute and sort the steps used for the animation, and return the animation object.
Trait Implementations§
Source§impl Clone for KeyframesAnimation
impl Clone for KeyframesAnimation
Source§fn clone(&self) -> KeyframesAnimation
fn clone(&self) -> KeyframesAnimation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KeyframesAnimation
impl Debug for KeyframesAnimation
Source§impl MallocSizeOf for KeyframesAnimation
impl MallocSizeOf for KeyframesAnimation
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Auto Trait Implementations§
impl Freeze for KeyframesAnimation
impl !RefUnwindSafe for KeyframesAnimation
impl Send for KeyframesAnimation
impl Sync for KeyframesAnimation
impl Unpin for KeyframesAnimation
impl UnsafeUnpin for KeyframesAnimation
impl !UnwindSafe for KeyframesAnimation
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§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