aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/keyframes.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/style/keyframes.rs')
-rw-r--r--components/style/keyframes.rs18
1 files changed, 12 insertions, 6 deletions
diff --git a/components/style/keyframes.rs b/components/style/keyframes.rs
index 7d219758848..82dc4c9200f 100644
--- a/components/style/keyframes.rs
+++ b/components/style/keyframes.rs
@@ -10,7 +10,8 @@ use std::sync::Arc;
/// A number from 1 to 100, indicating the percentage of the animation where
/// this keyframe should run.
-#[derive(Debug, Copy, Clone, PartialEq, PartialOrd, HeapSizeOf)]
+#[derive(Debug, Copy, Clone, PartialEq, PartialOrd)]
+#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct KeyframePercentage(pub f32);
impl ::std::cmp::Ord for KeyframePercentage {
@@ -49,7 +50,8 @@ impl KeyframePercentage {
/// A keyframes selector is a list of percentages or from/to symbols, which are
/// converted at parse time to percentages.
-#[derive(Debug, Clone, PartialEq, HeapSizeOf)]
+#[derive(Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct KeyframeSelector(Vec<KeyframePercentage>);
impl KeyframeSelector {
#[inline]
@@ -64,7 +66,8 @@ impl KeyframeSelector {
}
/// A keyframe.
-#[derive(Debug, Clone, PartialEq, HeapSizeOf)]
+#[derive(Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct Keyframe {
pub selector: KeyframeSelector,
pub declarations: Arc<Vec<PropertyDeclaration>>,
@@ -95,14 +98,16 @@ impl Keyframe {
/// is, one autogenerated from the current computed values, or a list of
/// declarations to apply.
// TODO: Find a better name for this?
-#[derive(Debug, Clone, PartialEq, HeapSizeOf)]
+#[derive(Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub enum KeyframesStepValue {
Declarations(Arc<Vec<PropertyDeclaration>>),
ComputedValues,
}
/// A single step from a keyframe animation.
-#[derive(Debug, Clone, PartialEq, HeapSizeOf)]
+#[derive(Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct KeyframesStep {
/// The percentage of the animation duration when this step starts.
pub start_percentage: KeyframePercentage,
@@ -126,7 +131,8 @@ impl KeyframesStep {
/// of keyframes, in order.
///
/// It only takes into account animable properties.
-#[derive(Debug, Clone, PartialEq, HeapSizeOf)]
+#[derive(Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct KeyframesAnimation {
pub steps: Vec<KeyframesStep>,
/// The properties that change in this animation.