summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/animation/Animation.h
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-04-27 16:31:00 +0100
committerSteve Block <steveblock@google.com>2010-05-11 14:42:12 +0100
commitdcc8cf2e65d1aa555cce12431a16547e66b469ee (patch)
tree92a8d65cd5383bca9749f5327fb5e440563926e6 /WebCore/platform/animation/Animation.h
parentccac38a6b48843126402088a309597e682f40fe6 (diff)
downloadexternal_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.zip
external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.gz
external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.bz2
Merge webkit.org at r58033 : Initial merge by git
Change-Id: If006c38561af287c50cd578d251629b51e4d8cd1
Diffstat (limited to 'WebCore/platform/animation/Animation.h')
-rw-r--r--WebCore/platform/animation/Animation.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/WebCore/platform/animation/Animation.h b/WebCore/platform/animation/Animation.h
index 306a1b9..a629f43 100644
--- a/WebCore/platform/animation/Animation.h
+++ b/WebCore/platform/animation/Animation.h
@@ -44,6 +44,7 @@ public:
bool isDelaySet() const { return m_delaySet; }
bool isDirectionSet() const { return m_directionSet; }
bool isDurationSet() const { return m_durationSet; }
+ bool isFillModeSet() const { return m_fillModeSet; }
bool isIterationCountSet() const { return m_iterationCountSet; }
bool isNameSet() const { return m_nameSet; }
bool isPlayStateSet() const { return m_playStateSet; }
@@ -58,8 +59,9 @@ public:
bool isEmpty() const
{
- return (!m_directionSet && !m_durationSet && !m_nameSet && !m_playStateSet &&
- !m_iterationCountSet && !m_delaySet && !m_timingFunctionSet && !m_propertySet);
+ return (!m_directionSet && !m_durationSet && !m_fillModeSet
+ && !m_nameSet && !m_playStateSet && !m_iterationCountSet
+ && !m_delaySet && !m_timingFunctionSet && !m_propertySet);
}
bool isEmptyOrZeroDuration() const
@@ -70,6 +72,7 @@ public:
void clearDelay() { m_delaySet = false; }
void clearDirection() { m_directionSet = false; }
void clearDuration() { m_durationSet = false; }
+ void clearFillMode() { m_fillModeSet = false; }
void clearIterationCount() { m_iterationCountSet = false; }
void clearName() { m_nameSet = false; }
void clearPlayState() { m_playStateSet = AnimPlayStatePlaying; }
@@ -81,6 +84,8 @@ public:
enum AnimationDirection { AnimationDirectionNormal, AnimationDirectionAlternate };
AnimationDirection direction() const { return m_direction; }
+ unsigned fillMode() const { return m_fillMode; }
+
double duration() const { return m_duration; }
enum { IterationCountInfinite = -1 };
@@ -93,6 +98,7 @@ public:
void setDelay(double c) { m_delay = c; m_delaySet = true; }
void setDirection(AnimationDirection d) { m_direction = d; m_directionSet = true; }
void setDuration(double d) { ASSERT(d >= 0); m_duration = d; m_durationSet = true; }
+ void setFillMode(unsigned f) { m_fillMode = f; m_fillModeSet = true; }
void setIterationCount(int c) { m_iterationCount = c; m_iterationCountSet = true; }
void setName(const String& n) { m_name = n; m_nameSet = true; }
void setPlayState(unsigned d) { m_playState = d; m_playStateSet = true; }
@@ -110,6 +116,9 @@ public:
bool operator==(const Animation& o) const { return animationsMatch(&o); }
bool operator!=(const Animation& o) const { return !(*this == o); }
+ bool fillsBackwards() const { return m_fillModeSet && (m_fillMode == AnimationFillModeBackwards || m_fillMode == AnimationFillModeBoth); }
+ bool fillsForwards() const { return m_fillModeSet && (m_fillMode == AnimationFillModeForwards || m_fillMode == AnimationFillModeBoth); }
+
private:
Animation();
Animation(const Animation& o);
@@ -121,12 +130,14 @@ private:
double m_duration;
TimingFunction m_timingFunction;
AnimationDirection m_direction : 1;
+ unsigned m_fillMode : 2;
unsigned m_playState : 2;
bool m_delaySet : 1;
bool m_directionSet : 1;
bool m_durationSet : 1;
+ bool m_fillModeSet : 1;
bool m_iterationCountSet : 1;
bool m_nameSet : 1;
bool m_playStateSet : 1;
@@ -139,6 +150,7 @@ public:
static float initialAnimationDelay() { return 0; }
static AnimationDirection initialAnimationDirection() { return AnimationDirectionNormal; }
static double initialAnimationDuration() { return 0; }
+ static unsigned initialAnimationFillMode() { return AnimationFillModeNone; }
static int initialAnimationIterationCount() { return 1; }
static String initialAnimationName() { return String("none"); }
static unsigned initialAnimationPlayState() { return AnimPlayStatePlaying; }