OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_ANIMATION_KEYFRAMED_ANIMATION_CURVE_H_ | 5 #ifndef CC_ANIMATION_KEYFRAMED_ANIMATION_CURVE_H_ |
6 #define CC_ANIMATION_KEYFRAMED_ANIMATION_CURVE_H_ | 6 #define CC_ANIMATION_KEYFRAMED_ANIMATION_CURVE_H_ |
7 | 7 |
8 #include "cc/animation/animation_curve.h" | 8 #include "cc/animation/animation_curve.h" |
9 #include "cc/animation/timing_function.h" | 9 #include "cc/animation/timing_function.h" |
10 #include "cc/animation/transform_operations.h" | 10 #include "cc/animation/transform_operations.h" |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 private: | 91 private: |
92 KeyframedFloatAnimationCurve(); | 92 KeyframedFloatAnimationCurve(); |
93 | 93 |
94 // Always sorted in order of increasing time. No two keyframes have the | 94 // Always sorted in order of increasing time. No two keyframes have the |
95 // same time. | 95 // same time. |
96 ScopedPtrVector<FloatKeyframe> keyframes_; | 96 ScopedPtrVector<FloatKeyframe> keyframes_; |
97 | 97 |
98 DISALLOW_COPY_AND_ASSIGN(KeyframedFloatAnimationCurve); | 98 DISALLOW_COPY_AND_ASSIGN(KeyframedFloatAnimationCurve); |
99 }; | 99 }; |
100 | 100 |
101 class CC_EXPORT KeyframedTransformAnimationCurve : public TransformAnimationCurv
e { | 101 class CC_EXPORT KeyframedTransformAnimationCurve |
| 102 : public TransformAnimationCurve { |
102 public: | 103 public: |
103 // It is required that the keyframes be sorted by time. | 104 // It is required that the keyframes be sorted by time. |
104 static scoped_ptr<KeyframedTransformAnimationCurve> Create(); | 105 static scoped_ptr<KeyframedTransformAnimationCurve> Create(); |
105 | 106 |
106 virtual ~KeyframedTransformAnimationCurve(); | 107 virtual ~KeyframedTransformAnimationCurve(); |
107 | 108 |
108 void AddKeyframe(scoped_ptr<TransformKeyframe> keyframe); | 109 void AddKeyframe(scoped_ptr<TransformKeyframe> keyframe); |
109 | 110 |
110 // AnimationCurve implementation | 111 // AnimationCurve implementation |
111 virtual double Duration() const OVERRIDE; | 112 virtual double Duration() const OVERRIDE; |
112 virtual scoped_ptr<AnimationCurve> Clone() const OVERRIDE; | 113 virtual scoped_ptr<AnimationCurve> Clone() const OVERRIDE; |
113 | 114 |
114 // TransformAnimationCurve implementation | 115 // TransformAnimationCurve implementation |
115 virtual gfx::Transform GetValue(double t) const OVERRIDE; | 116 virtual gfx::Transform GetValue(double t) const OVERRIDE; |
116 | 117 |
117 private: | 118 private: |
118 KeyframedTransformAnimationCurve(); | 119 KeyframedTransformAnimationCurve(); |
119 | 120 |
120 // Always sorted in order of increasing time. No two keyframes have the | 121 // Always sorted in order of increasing time. No two keyframes have the |
121 // same time. | 122 // same time. |
122 ScopedPtrVector<TransformKeyframe> keyframes_; | 123 ScopedPtrVector<TransformKeyframe> keyframes_; |
123 | 124 |
124 DISALLOW_COPY_AND_ASSIGN(KeyframedTransformAnimationCurve); | 125 DISALLOW_COPY_AND_ASSIGN(KeyframedTransformAnimationCurve); |
125 }; | 126 }; |
126 | 127 |
127 } // namespace cc | 128 } // namespace cc |
128 | 129 |
129 #endif // CC_ANIMATION_KEYFRAMED_ANIMATION_CURVE_H_ | 130 #endif // CC_ANIMATION_KEYFRAMED_ANIMATION_CURVE_H_ |
OLD | NEW |