Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Side by Side Diff: Source/core/platform/animation/PrimitiveAnimation.h

Issue 14391005: Rename Animation -> PrimitiveAnimation (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version. 11 * version 2 of the License, or (at your option) any later version.
12 * 12 *
13 * This library is distributed in the hope that it will be useful, 13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Library General Public License for more details. 16 * Library General Public License for more details.
17 * 17 *
18 * You should have received a copy of the GNU Library General Public License 18 * You should have received a copy of the GNU Library General Public License
19 * along with this library; see the file COPYING.LIB. If not, write to 19 * along with this library; see the file COPYING.LIB. If not, write to
20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301, USA. 21 * Boston, MA 02110-1301, USA.
22 * 22 *
23 */ 23 */
24 24
25 #ifndef Animation_h 25 #ifndef PrimitiveAnimation_h
26 #define Animation_h 26 #define PrimitiveAnimation_h
27 27
28 #include "CSSPropertyNames.h" 28 #include "CSSPropertyNames.h"
29 #include "RenderStyleConstants.h" 29 #include "RenderStyleConstants.h"
30 #include "TimingFunction.h" 30 #include "TimingFunction.h"
31 #include <wtf/PassRefPtr.h> 31 #include <wtf/PassRefPtr.h>
32 #include <wtf/RefCounted.h> 32 #include <wtf/RefCounted.h>
33 #include <wtf/text/WTFString.h> 33 #include <wtf/text/WTFString.h>
34 34
35 namespace WebCore { 35 namespace WebCore {
36 36
37 class Animation : public RefCounted<Animation> { 37 class PrimitiveAnimation : public RefCounted<PrimitiveAnimation> {
dglazkov 2013/04/23 16:55:31 If it's a primitive for animation, shouldn't it be
38 public: 38 public:
39 ~Animation(); 39 ~PrimitiveAnimation();
40 40
41 static PassRefPtr<Animation> create() { return adoptRef(new Animation); } 41 static PassRefPtr<PrimitiveAnimation> create() { return adoptRef(new Primiti veAnimation); }
42 static PassRefPtr<Animation> create(const Animation* o) { return adoptRef(ne w Animation(*o)); } 42 static PassRefPtr<PrimitiveAnimation> create(const PrimitiveAnimation* o) { return adoptRef(new PrimitiveAnimation(*o)); }
43 43
44 bool isDelaySet() const { return m_delaySet; } 44 bool isDelaySet() const { return m_delaySet; }
45 bool isDirectionSet() const { return m_directionSet; } 45 bool isDirectionSet() const { return m_directionSet; }
46 bool isDurationSet() const { return m_durationSet; } 46 bool isDurationSet() const { return m_durationSet; }
47 bool isFillModeSet() const { return m_fillModeSet; } 47 bool isFillModeSet() const { return m_fillModeSet; }
48 bool isIterationCountSet() const { return m_iterationCountSet; } 48 bool isIterationCountSet() const { return m_iterationCountSet; }
49 bool isNameSet() const { return m_nameSet; } 49 bool isNameSet() const { return m_nameSet; }
50 bool isPlayStateSet() const { return m_playStateSet; } 50 bool isPlayStateSet() const { return m_playStateSet; }
51 bool isPropertySet() const { return m_propertySet; } 51 bool isPropertySet() const { return m_propertySet; }
52 bool isTimingFunctionSet() const { return m_timingFunctionSet; } 52 bool isTimingFunctionSet() const { return m_timingFunctionSet; }
53 53
54 // Flags this to be the special "none" animation (animation-name: none) 54 // Flags this to be the special "none" animation (animation-name: none)
55 bool isNoneAnimation() const { return m_isNone; } 55 bool isNoneAnimation() const { return m_isNone; }
56 // We can make placeholder Animation objects to keep the comma-separated lis ts 56 // We can make placeholder PrimitiveAnimation objects to keep the comma-sepa rated lists
57 // of properties in sync. isValidAnimation means this is not a placeholder. 57 // of properties in sync. isValidAnimation means this is not a placeholder.
58 bool isValidAnimation() const { return !m_isNone && !m_name.isEmpty(); } 58 bool isValidAnimation() const { return !m_isNone && !m_name.isEmpty(); }
59 59
60 bool isEmpty() const 60 bool isEmpty() const
61 { 61 {
62 return (!m_directionSet && !m_durationSet && !m_fillModeSet 62 return (!m_directionSet && !m_durationSet && !m_fillModeSet
63 && !m_nameSet && !m_playStateSet && !m_iterationCountSet 63 && !m_nameSet && !m_playStateSet && !m_iterationCountSet
64 && !m_delaySet && !m_timingFunctionSet && !m_propertySet); 64 && !m_delaySet && !m_timingFunctionSet && !m_propertySet);
65 } 65 }
66 66
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 void setFillMode(unsigned f) { m_fillMode = f; m_fillModeSet = true; } 127 void setFillMode(unsigned f) { m_fillMode = f; m_fillModeSet = true; }
128 void setIterationCount(double c) { m_iterationCount = c; m_iterationCountSet = true; } 128 void setIterationCount(double c) { m_iterationCount = c; m_iterationCountSet = true; }
129 void setName(const String& n) { m_name = n; m_nameSet = true; } 129 void setName(const String& n) { m_name = n; m_nameSet = true; }
130 void setPlayState(EAnimPlayState d) { m_playState = d; m_playStateSet = true ; } 130 void setPlayState(EAnimPlayState d) { m_playState = d; m_playStateSet = true ; }
131 void setProperty(CSSPropertyID t) { m_property = t; m_propertySet = true; } 131 void setProperty(CSSPropertyID t) { m_property = t; m_propertySet = true; }
132 void setTimingFunction(PassRefPtr<TimingFunction> f) { m_timingFunction = f; m_timingFunctionSet = true; } 132 void setTimingFunction(PassRefPtr<TimingFunction> f) { m_timingFunction = f; m_timingFunctionSet = true; }
133 void setAnimationMode(AnimationMode mode) { m_mode = mode; } 133 void setAnimationMode(AnimationMode mode) { m_mode = mode; }
134 134
135 void setIsNoneAnimation(bool n) { m_isNone = n; } 135 void setIsNoneAnimation(bool n) { m_isNone = n; }
136 136
137 Animation& operator=(const Animation& o); 137 PrimitiveAnimation& operator=(const PrimitiveAnimation& o);
138 138
139 // return true if all members of this class match (excluding m_next) 139 // return true if all members of this class match (excluding m_next)
140 bool animationsMatch(const Animation*, bool matchPlayStates = true) const; 140 bool animationsMatch(const PrimitiveAnimation*, bool matchPlayStates = true) const;
141 141
142 // return true every Animation in the chain (defined by m_next) match 142 // return true every PrimitiveAnimation in the chain (defined by m_next) mat ch
143 bool operator==(const Animation& o) const { return animationsMatch(&o); } 143 bool operator==(const PrimitiveAnimation& o) const { return animationsMatch( &o); }
144 bool operator!=(const Animation& o) const { return !(*this == o); } 144 bool operator!=(const PrimitiveAnimation& o) const { return !(*this == o); }
145 145
146 bool fillsBackwards() const { return m_fillModeSet && (m_fillMode == Animati onFillModeBackwards || m_fillMode == AnimationFillModeBoth); } 146 bool fillsBackwards() const { return m_fillModeSet && (m_fillMode == Animati onFillModeBackwards || m_fillMode == AnimationFillModeBoth); }
147 bool fillsForwards() const { return m_fillModeSet && (m_fillMode == Animatio nFillModeForwards || m_fillMode == AnimationFillModeBoth); } 147 bool fillsForwards() const { return m_fillModeSet && (m_fillMode == Animatio nFillModeForwards || m_fillMode == AnimationFillModeBoth); }
148 148
149 private: 149 private:
150 Animation(); 150 PrimitiveAnimation();
151 Animation(const Animation& o); 151 PrimitiveAnimation(const PrimitiveAnimation& o);
152 152
153 String m_name; 153 String m_name;
154 CSSPropertyID m_property; 154 CSSPropertyID m_property;
155 AnimationMode m_mode; 155 AnimationMode m_mode;
156 double m_iterationCount; 156 double m_iterationCount;
157 double m_delay; 157 double m_delay;
158 double m_duration; 158 double m_duration;
159 RefPtr<TimingFunction> m_timingFunction; 159 RefPtr<TimingFunction> m_timingFunction;
160 unsigned m_direction : 2; // AnimationDirection 160 unsigned m_direction : 2; // AnimationDirection
161 unsigned m_fillMode : 2; 161 unsigned m_fillMode : 2;
162 162
163 unsigned m_playState : 2; 163 unsigned m_playState : 2;
164 164
165 bool m_delaySet : 1; 165 bool m_delaySet : 1;
166 bool m_directionSet : 1; 166 bool m_directionSet : 1;
167 bool m_durationSet : 1; 167 bool m_durationSet : 1;
168 bool m_fillModeSet : 1; 168 bool m_fillModeSet : 1;
169 bool m_iterationCountSet : 1; 169 bool m_iterationCountSet : 1;
170 bool m_nameSet : 1; 170 bool m_nameSet : 1;
171 bool m_playStateSet : 1; 171 bool m_playStateSet : 1;
172 bool m_propertySet : 1; 172 bool m_propertySet : 1;
173 bool m_timingFunctionSet : 1; 173 bool m_timingFunctionSet : 1;
174 174
175 bool m_isNone : 1; 175 bool m_isNone : 1;
176 176
177 public: 177 public:
178 static double initialAnimationDelay() { return 0; } 178 static double initialAnimationDelay() { return 0; }
179 static AnimationDirection initialAnimationDirection() { return AnimationDire ctionNormal; } 179 static AnimationDirection initialAnimationDirection() { return AnimationDire ctionNormal; }
180 static double initialAnimationDuration() { return 0; } 180 static double initialAnimationDuration() { return 0; }
181 static unsigned initialAnimationFillMode() { return AnimationFillModeNone; } 181 static unsigned initialAnimationFillMode() { return AnimationFillModeNone; }
182 static double initialAnimationIterationCount() { return 1.0; } 182 static double initialAnimationIterationCount() { return 1.0; }
183 static const String& initialAnimationName(); 183 static const String& initialAnimationName();
184 static EAnimPlayState initialAnimationPlayState() { return AnimPlayStatePlay ing; } 184 static EAnimPlayState initialAnimationPlayState() { return AnimPlayStatePlay ing; }
185 static CSSPropertyID initialAnimationProperty() { return CSSPropertyInvalid; } 185 static CSSPropertyID initialAnimationProperty() { return CSSPropertyInvalid; }
186 static const PassRefPtr<TimingFunction> initialAnimationTimingFunction() { r eturn CubicBezierTimingFunction::create(); } 186 static const PassRefPtr<TimingFunction> initialAnimationTimingFunction() { r eturn CubicBezierTimingFunction::create(); }
187 }; 187 };
188 188
189 } // namespace WebCore 189 } // namespace WebCore
190 190
191 #endif // Animation_h 191 #endif // PrimitiveAnimation_h
OLDNEW
« no previous file with comments | « Source/core/platform/animation/AnimationList.cpp ('k') | Source/core/platform/animation/PrimitiveAnimation.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698