Index: Source/core/platform/animation/CSSAnimationData.h |
diff --git a/Source/core/platform/animation/CSSAnimationData.h b/Source/core/platform/animation/CSSAnimationData.h |
deleted file mode 100644 |
index 7f6e79ab91032181ae6b2313b9c26e4971eed7d6..0000000000000000000000000000000000000000 |
--- a/Source/core/platform/animation/CSSAnimationData.h |
+++ /dev/null |
@@ -1,192 +0,0 @@ |
-/* |
- * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
- * (C) 2000 Antti Koivisto (koivisto@kde.org) |
- * (C) 2000 Dirk Mueller (mueller@kde.org) |
- * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
- * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
- * |
- * This library is free software; you can redistribute it and/or |
- * modify it under the terms of the GNU Library General Public |
- * License as published by the Free Software Foundation; either |
- * version 2 of the License, or (at your option) any later version. |
- * |
- * This library is distributed in the hope that it will be useful, |
- * but WITHOUT ANY WARRANTY; without even the implied warranty of |
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
- * Library General Public License for more details. |
- * |
- * You should have received a copy of the GNU Library General Public License |
- * along with this library; see the file COPYING.LIB. If not, write to |
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
- * Boston, MA 02110-1301, USA. |
- * |
- */ |
- |
-#ifndef CSSAnimationData_h |
-#define CSSAnimationData_h |
- |
-#include "CSSPropertyNames.h" |
-#include "core/platform/animation/TimingFunction.h" |
-#include "core/rendering/style/RenderStyleConstants.h" |
-#include "wtf/PassRefPtr.h" |
-#include "wtf/RefCounted.h" |
-#include "wtf/text/WTFString.h" |
- |
-namespace WebCore { |
- |
-class CSSAnimationData : public RefCounted<CSSAnimationData> { |
-public: |
- ~CSSAnimationData(); |
- |
- static PassRefPtr<CSSAnimationData> create() { return adoptRef(new CSSAnimationData); } |
- static PassRefPtr<CSSAnimationData> create(const CSSAnimationData* o) { return adoptRef(new CSSAnimationData(*o)); } |
- |
- 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; } |
- bool isPropertySet() const { return m_propertySet; } |
- bool isTimingFunctionSet() const { return m_timingFunctionSet; } |
- |
- // Flags this to be the special "none" animation (animation-name: none) |
- bool isNoneAnimation() const { return m_isNone; } |
- // We can make placeholder CSSAnimationData objects to keep the comma-separated lists |
- // of properties in sync. isValidAnimation means this is not a placeholder. |
- bool isValidAnimation() const { return !m_isNone && !m_name.isEmpty(); } |
- |
- bool isEmpty() const |
- { |
- return (!m_directionSet && !m_durationSet && !m_fillModeSet |
- && !m_nameSet && !m_playStateSet && !m_iterationCountSet |
- && !m_delaySet && !m_timingFunctionSet && !m_propertySet); |
- } |
- |
- bool isEmptyOrZeroDuration() const |
- { |
- return isEmpty() || (m_duration == 0 && m_delay <= 0); |
- } |
- |
- 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; } |
- void clearProperty() { m_propertySet = false; } |
- void clearTimingFunction() { m_timingFunctionSet = false; } |
- |
- void clearAll() |
- { |
- clearDelay(); |
- clearDirection(); |
- clearDuration(); |
- clearFillMode(); |
- clearIterationCount(); |
- clearName(); |
- clearPlayState(); |
- clearProperty(); |
- clearTimingFunction(); |
- } |
- |
- double delay() const { return m_delay; } |
- |
- enum AnimationMode { |
- AnimateAll, |
- AnimateNone, |
- AnimateSingleProperty |
- }; |
- |
- enum AnimationDirection { |
- AnimationDirectionNormal, |
- AnimationDirectionAlternate, |
- AnimationDirectionReverse, |
- AnimationDirectionAlternateReverse |
- }; |
- AnimationDirection direction() const { return static_cast<AnimationDirection>(m_direction); } |
- bool directionIsForwards() const { return m_direction == AnimationDirectionNormal || m_direction == AnimationDirectionAlternate; } |
- |
- unsigned fillMode() const { return m_fillMode; } |
- |
- double duration() const { return m_duration; } |
- |
- enum { IterationCountInfinite = -1 }; |
- double iterationCount() const { return m_iterationCount; } |
- const AtomicString& name() const { return m_name; } |
- EAnimPlayState playState() const { return static_cast<EAnimPlayState>(m_playState); } |
- CSSPropertyID property() const { return m_property; } |
- TimingFunction* timingFunction() const { return m_timingFunction.get(); } |
- AnimationMode animationMode() const { return m_mode; } |
- |
- 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(double c) { m_iterationCount = c; m_iterationCountSet = true; } |
- void setName(const AtomicString& n) { m_name = n; m_nameSet = true; } |
- void setPlayState(EAnimPlayState d) { m_playState = d; m_playStateSet = true; } |
- void setProperty(CSSPropertyID t) { m_property = t; m_propertySet = true; } |
- void setTimingFunction(PassRefPtr<TimingFunction> f) { m_timingFunction = f; m_timingFunctionSet = true; } |
- void setAnimationMode(AnimationMode mode) { m_mode = mode; } |
- |
- void setIsNoneAnimation(bool n) { m_isNone = n; } |
- |
- CSSAnimationData& operator=(const CSSAnimationData& o); |
- |
- // return true every CSSAnimationData in the chain (defined by m_next) match |
- bool operator==(const CSSAnimationData& o) const { return animationsMatchForStyleRecalc(&o); } |
- bool operator!=(const CSSAnimationData& 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: |
- CSSAnimationData(); |
- explicit CSSAnimationData(const CSSAnimationData&); |
- |
- // Return whether this object matches another CSSAnimationData object for |
- // the purposes of style recalc. This excludes some properties. |
- bool animationsMatchForStyleRecalc(const CSSAnimationData*) const; |
- |
- AtomicString m_name; |
- CSSPropertyID m_property; |
- AnimationMode m_mode; |
- double m_iterationCount; |
- double m_delay; |
- double m_duration; |
- RefPtr<TimingFunction> m_timingFunction; |
- unsigned m_direction : 2; // AnimationDirection |
- 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; |
- bool m_propertySet : 1; |
- bool m_timingFunctionSet : 1; |
- |
- bool m_isNone : 1; |
- |
-public: |
- static double initialAnimationDelay() { return 0; } |
- static AnimationDirection initialAnimationDirection() { return AnimationDirectionNormal; } |
- static double initialAnimationDuration() { return 0; } |
- static unsigned initialAnimationFillMode() { return AnimationFillModeNone; } |
- static double initialAnimationIterationCount() { return 1.0; } |
- static const AtomicString& initialAnimationName(); |
- static EAnimPlayState initialAnimationPlayState() { return AnimPlayStatePlaying; } |
- static CSSPropertyID initialAnimationProperty() { return CSSPropertyInvalid; } |
- static const PassRefPtr<TimingFunction> initialAnimationTimingFunction() { return CubicBezierTimingFunction::preset(CubicBezierTimingFunction::Ease); } |
-}; |
- |
-} // namespace WebCore |
- |
-#endif // CSSAnimationData_h |