diff options
Diffstat (limited to 'components/style/animation.rs')
-rw-r--r-- | components/style/animation.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/components/style/animation.rs b/components/style/animation.rs index 42704700c4d..374b5396bee 100644 --- a/components/style/animation.rs +++ b/components/style/animation.rs @@ -4,6 +4,7 @@ use app_units::Au; use cssparser::{Color, RGBA}; +use dom::OpaqueNode; use euclid::point::Point2D; use properties::ComputedValues; use properties::longhands::background_position::computed_value::T as BackgroundPosition; @@ -30,6 +31,28 @@ use values::CSSFloat; use values::computed::{Angle, LengthOrPercentageOrAuto, LengthOrPercentageOrNone}; use values::computed::{CalcLengthOrPercentage, Length, LengthOrPercentage, Time}; +/// State relating to an animation. +#[derive(Clone)] +pub struct Animation { + /// An opaque reference to the DOM node participating in the animation. + pub node: OpaqueNode, + /// A description of the property animation that is occurring. + pub property_animation: PropertyAnimation, + /// The start time of the animation, as returned by `time::precise_time_s()`. + pub start_time: f64, + /// The end time of the animation, as returned by `time::precise_time_s()`. + pub end_time: f64, +} + +impl Animation { + /// Returns the duration of this animation in seconds. + #[inline] + pub fn duration(&self) -> f64 { + self.end_time - self.start_time + } +} + + #[derive(Clone, Debug)] pub struct PropertyAnimation { property: AnimatedProperty, |