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

Side by Side Diff: cc/animation/keyframed_animation_curve.h

Issue 1437413002: cc: Remove ScopedPtrVector and cc::remove_if. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: just the vector Created 5 years, 1 month 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 // 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 "base/time/time.h" 8 #include "base/time/time.h"
9 #include "cc/animation/animation_curve.h" 9 #include "cc/animation/animation_curve.h"
10 #include "cc/animation/timing_function.h" 10 #include "cc/animation/timing_function.h"
11 #include "cc/animation/transform_operations.h" 11 #include "cc/animation/transform_operations.h"
12 #include "cc/base/cc_export.h" 12 #include "cc/base/cc_export.h"
13 #include "cc/base/scoped_ptr_vector.h"
danakj 2015/11/17 01:12:16 include vector tho, iwyu
vmpstr 2015/11/17 23:26:23 Done.
14 13
15 namespace cc { 14 namespace cc {
16 15
17 class CC_EXPORT Keyframe { 16 class CC_EXPORT Keyframe {
18 public: 17 public:
19 base::TimeDelta Time() const; 18 base::TimeDelta Time() const;
20 const TimingFunction* timing_function() const { 19 const TimingFunction* timing_function() const {
21 return timing_function_.get(); 20 return timing_function_.get();
22 } 21 }
23 22
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 scoped_ptr<AnimationCurve> Clone() const override; 128 scoped_ptr<AnimationCurve> Clone() const override;
130 129
131 // BackgrounColorAnimationCurve implementation 130 // BackgrounColorAnimationCurve implementation
132 SkColor GetValue(base::TimeDelta t) const override; 131 SkColor GetValue(base::TimeDelta t) const override;
133 132
134 private: 133 private:
135 KeyframedColorAnimationCurve(); 134 KeyframedColorAnimationCurve();
136 135
137 // Always sorted in order of increasing time. No two keyframes have the 136 // Always sorted in order of increasing time. No two keyframes have the
138 // same time. 137 // same time.
139 ScopedPtrVector<ColorKeyframe> keyframes_; 138 std::vector<scoped_ptr<ColorKeyframe>> keyframes_;
140 scoped_ptr<TimingFunction> timing_function_; 139 scoped_ptr<TimingFunction> timing_function_;
141 140
142 DISALLOW_COPY_AND_ASSIGN(KeyframedColorAnimationCurve); 141 DISALLOW_COPY_AND_ASSIGN(KeyframedColorAnimationCurve);
143 }; 142 };
144 143
145 class CC_EXPORT KeyframedFloatAnimationCurve : public FloatAnimationCurve { 144 class CC_EXPORT KeyframedFloatAnimationCurve : public FloatAnimationCurve {
146 public: 145 public:
147 // It is required that the keyframes be sorted by time. 146 // It is required that the keyframes be sorted by time.
148 static scoped_ptr<KeyframedFloatAnimationCurve> Create(); 147 static scoped_ptr<KeyframedFloatAnimationCurve> Create();
149 148
150 ~KeyframedFloatAnimationCurve() override; 149 ~KeyframedFloatAnimationCurve() override;
151 150
152 void AddKeyframe(scoped_ptr<FloatKeyframe> keyframe); 151 void AddKeyframe(scoped_ptr<FloatKeyframe> keyframe);
153 void SetTimingFunction(scoped_ptr<TimingFunction> timing_function) { 152 void SetTimingFunction(scoped_ptr<TimingFunction> timing_function) {
154 timing_function_ = timing_function.Pass(); 153 timing_function_ = timing_function.Pass();
155 } 154 }
156 155
157 // AnimationCurve implementation 156 // AnimationCurve implementation
158 base::TimeDelta Duration() const override; 157 base::TimeDelta Duration() const override;
159 scoped_ptr<AnimationCurve> Clone() const override; 158 scoped_ptr<AnimationCurve> Clone() const override;
160 159
161 // FloatAnimationCurve implementation 160 // FloatAnimationCurve implementation
162 float GetValue(base::TimeDelta t) const override; 161 float GetValue(base::TimeDelta t) const override;
163 162
164 private: 163 private:
165 KeyframedFloatAnimationCurve(); 164 KeyframedFloatAnimationCurve();
166 165
167 // Always sorted in order of increasing time. No two keyframes have the 166 // Always sorted in order of increasing time. No two keyframes have the
168 // same time. 167 // same time.
169 ScopedPtrVector<FloatKeyframe> keyframes_; 168 std::vector<scoped_ptr<FloatKeyframe>> keyframes_;
170 scoped_ptr<TimingFunction> timing_function_; 169 scoped_ptr<TimingFunction> timing_function_;
171 170
172 DISALLOW_COPY_AND_ASSIGN(KeyframedFloatAnimationCurve); 171 DISALLOW_COPY_AND_ASSIGN(KeyframedFloatAnimationCurve);
173 }; 172 };
174 173
175 class CC_EXPORT KeyframedTransformAnimationCurve 174 class CC_EXPORT KeyframedTransformAnimationCurve
176 : public TransformAnimationCurve { 175 : public TransformAnimationCurve {
177 public: 176 public:
178 // It is required that the keyframes be sorted by time. 177 // It is required that the keyframes be sorted by time.
179 static scoped_ptr<KeyframedTransformAnimationCurve> Create(); 178 static scoped_ptr<KeyframedTransformAnimationCurve> Create();
(...skipping 19 matching lines...) Expand all
199 bool AnimationStartScale(bool forward_direction, 198 bool AnimationStartScale(bool forward_direction,
200 float* start_scale) const override; 199 float* start_scale) const override;
201 bool MaximumTargetScale(bool forward_direction, 200 bool MaximumTargetScale(bool forward_direction,
202 float* max_scale) const override; 201 float* max_scale) const override;
203 202
204 private: 203 private:
205 KeyframedTransformAnimationCurve(); 204 KeyframedTransformAnimationCurve();
206 205
207 // Always sorted in order of increasing time. No two keyframes have the 206 // Always sorted in order of increasing time. No two keyframes have the
208 // same time. 207 // same time.
209 ScopedPtrVector<TransformKeyframe> keyframes_; 208 std::vector<scoped_ptr<TransformKeyframe>> keyframes_;
210 scoped_ptr<TimingFunction> timing_function_; 209 scoped_ptr<TimingFunction> timing_function_;
211 210
212 DISALLOW_COPY_AND_ASSIGN(KeyframedTransformAnimationCurve); 211 DISALLOW_COPY_AND_ASSIGN(KeyframedTransformAnimationCurve);
213 }; 212 };
214 213
215 class CC_EXPORT KeyframedFilterAnimationCurve 214 class CC_EXPORT KeyframedFilterAnimationCurve
216 : public FilterAnimationCurve { 215 : public FilterAnimationCurve {
217 public: 216 public:
218 // It is required that the keyframes be sorted by time. 217 // It is required that the keyframes be sorted by time.
219 static scoped_ptr<KeyframedFilterAnimationCurve> Create(); 218 static scoped_ptr<KeyframedFilterAnimationCurve> Create();
(...skipping 11 matching lines...) Expand all
231 230
232 // FilterAnimationCurve implementation 231 // FilterAnimationCurve implementation
233 FilterOperations GetValue(base::TimeDelta t) const override; 232 FilterOperations GetValue(base::TimeDelta t) const override;
234 bool HasFilterThatMovesPixels() const override; 233 bool HasFilterThatMovesPixels() const override;
235 234
236 private: 235 private:
237 KeyframedFilterAnimationCurve(); 236 KeyframedFilterAnimationCurve();
238 237
239 // Always sorted in order of increasing time. No two keyframes have the 238 // Always sorted in order of increasing time. No two keyframes have the
240 // same time. 239 // same time.
241 ScopedPtrVector<FilterKeyframe> keyframes_; 240 std::vector<scoped_ptr<FilterKeyframe>> keyframes_;
242 scoped_ptr<TimingFunction> timing_function_; 241 scoped_ptr<TimingFunction> timing_function_;
243 242
244 DISALLOW_COPY_AND_ASSIGN(KeyframedFilterAnimationCurve); 243 DISALLOW_COPY_AND_ASSIGN(KeyframedFilterAnimationCurve);
245 }; 244 };
246 245
247 } // namespace cc 246 } // namespace cc
248 247
249 #endif // CC_ANIMATION_KEYFRAMED_ANIMATION_CURVE_H_ 248 #endif // CC_ANIMATION_KEYFRAMED_ANIMATION_CURVE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698