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

Side by Side Diff: cc/test/animation_test_common.cc

Issue 1057283003: Remove parts of //cc we aren't using (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 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
« no previous file with comments | « cc/test/animation_test_common.h ('k') | cc/test/data/10_10_layer_tree.json » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "cc/test/animation_test_common.h"
6
7 #include "cc/animation/animation_id_provider.h"
8 #include "cc/animation/keyframed_animation_curve.h"
9 #include "cc/animation/layer_animation_controller.h"
10 #include "cc/animation/transform_operations.h"
11 #include "cc/base/time_util.h"
12 #include "cc/layers/layer.h"
13 #include "cc/layers/layer_impl.h"
14
15 using cc::Animation;
16 using cc::AnimationCurve;
17 using cc::EaseTimingFunction;
18 using cc::FloatKeyframe;
19 using cc::KeyframedFloatAnimationCurve;
20 using cc::KeyframedTransformAnimationCurve;
21 using cc::TimingFunction;
22 using cc::TransformKeyframe;
23
24 namespace cc {
25
26 template <class Target>
27 int AddOpacityTransition(Target* target,
28 double duration,
29 float start_opacity,
30 float end_opacity,
31 bool use_timing_function) {
32 scoped_ptr<KeyframedFloatAnimationCurve>
33 curve(KeyframedFloatAnimationCurve::Create());
34
35 scoped_ptr<TimingFunction> func;
36 if (!use_timing_function)
37 func = EaseTimingFunction::Create();
38 if (duration > 0.0)
39 curve->AddKeyframe(
40 FloatKeyframe::Create(base::TimeDelta(), start_opacity, func.Pass()));
41 curve->AddKeyframe(FloatKeyframe::Create(
42 base::TimeDelta::FromSecondsD(duration), end_opacity, nullptr));
43
44 int id = AnimationIdProvider::NextAnimationId();
45
46 scoped_ptr<Animation> animation(
47 Animation::Create(curve.Pass(), id, AnimationIdProvider::NextGroupId(),
48 Animation::OPACITY));
49 animation->set_needs_synchronized_start_time(true);
50
51 target->AddAnimation(animation.Pass());
52 return id;
53 }
54
55 template <class Target>
56 int AddAnimatedTransform(Target* target,
57 double duration,
58 TransformOperations start_operations,
59 TransformOperations operations) {
60 scoped_ptr<KeyframedTransformAnimationCurve>
61 curve(KeyframedTransformAnimationCurve::Create());
62
63 if (duration > 0.0) {
64 curve->AddKeyframe(TransformKeyframe::Create(base::TimeDelta(),
65 start_operations, nullptr));
66 }
67
68 curve->AddKeyframe(TransformKeyframe::Create(
69 base::TimeDelta::FromSecondsD(duration), operations, nullptr));
70
71 int id = AnimationIdProvider::NextAnimationId();
72
73 scoped_ptr<Animation> animation(
74 Animation::Create(curve.Pass(), id, AnimationIdProvider::NextGroupId(),
75 Animation::TRANSFORM));
76 animation->set_needs_synchronized_start_time(true);
77
78 target->AddAnimation(animation.Pass());
79 return id;
80 }
81
82 template <class Target>
83 int AddAnimatedTransform(Target* target,
84 double duration,
85 int delta_x,
86 int delta_y) {
87 TransformOperations start_operations;
88 if (duration > 0.0) {
89 start_operations.AppendTranslate(delta_x, delta_y, 0.0);
90 }
91
92 TransformOperations operations;
93 operations.AppendTranslate(delta_x, delta_y, 0.0);
94 return AddAnimatedTransform(target, duration, start_operations, operations);
95 }
96
97 template <class Target>
98 int AddAnimatedFilter(Target* target,
99 double duration,
100 float start_brightness,
101 float end_brightness) {
102 scoped_ptr<KeyframedFilterAnimationCurve>
103 curve(KeyframedFilterAnimationCurve::Create());
104
105 if (duration > 0.0) {
106 FilterOperations start_filters;
107 start_filters.Append(
108 FilterOperation::CreateBrightnessFilter(start_brightness));
109 curve->AddKeyframe(
110 FilterKeyframe::Create(base::TimeDelta(), start_filters, nullptr));
111 }
112
113 FilterOperations filters;
114 filters.Append(FilterOperation::CreateBrightnessFilter(end_brightness));
115 curve->AddKeyframe(FilterKeyframe::Create(
116 base::TimeDelta::FromSecondsD(duration), filters, nullptr));
117
118 int id = AnimationIdProvider::NextAnimationId();
119
120 scoped_ptr<Animation> animation(Animation::Create(
121 curve.Pass(), id, AnimationIdProvider::NextGroupId(), Animation::FILTER));
122 animation->set_needs_synchronized_start_time(true);
123
124 target->AddAnimation(animation.Pass());
125 return id;
126 }
127
128 FakeFloatAnimationCurve::FakeFloatAnimationCurve()
129 : duration_(base::TimeDelta::FromSecondsD(1.0)) {
130 }
131
132 FakeFloatAnimationCurve::FakeFloatAnimationCurve(double duration)
133 : duration_(base::TimeDelta::FromSecondsD(duration)) {
134 }
135
136 FakeFloatAnimationCurve::~FakeFloatAnimationCurve() {}
137
138 base::TimeDelta FakeFloatAnimationCurve::Duration() const {
139 return duration_;
140 }
141
142 float FakeFloatAnimationCurve::GetValue(base::TimeDelta now) const {
143 return 0.0f;
144 }
145
146 scoped_ptr<AnimationCurve> FakeFloatAnimationCurve::Clone() const {
147 return make_scoped_ptr(new FakeFloatAnimationCurve);
148 }
149
150 FakeTransformTransition::FakeTransformTransition(double duration)
151 : duration_(base::TimeDelta::FromSecondsD(duration)) {
152 }
153
154 FakeTransformTransition::~FakeTransformTransition() {}
155
156 base::TimeDelta FakeTransformTransition::Duration() const {
157 return duration_;
158 }
159
160 gfx::Transform FakeTransformTransition::GetValue(base::TimeDelta time) const {
161 return gfx::Transform();
162 }
163
164 bool FakeTransformTransition::AnimatedBoundsForBox(const gfx::BoxF& box,
165 gfx::BoxF* bounds) const {
166 return false;
167 }
168
169 bool FakeTransformTransition::AffectsScale() const { return false; }
170
171 bool FakeTransformTransition::IsTranslation() const { return true; }
172
173 bool FakeTransformTransition::PreservesAxisAlignment() const {
174 return true;
175 }
176
177 bool FakeTransformTransition::MaximumTargetScale(bool forward_direction,
178 float* max_scale) const {
179 *max_scale = 1.f;
180 return true;
181 }
182
183 scoped_ptr<AnimationCurve> FakeTransformTransition::Clone() const {
184 return make_scoped_ptr(new FakeTransformTransition(*this));
185 }
186
187 FakeFloatTransition::FakeFloatTransition(double duration, float from, float to)
188 : duration_(base::TimeDelta::FromSecondsD(duration)), from_(from), to_(to) {
189 }
190
191 FakeFloatTransition::~FakeFloatTransition() {}
192
193 base::TimeDelta FakeFloatTransition::Duration() const {
194 return duration_;
195 }
196
197 float FakeFloatTransition::GetValue(base::TimeDelta time) const {
198 double progress = TimeUtil::Divide(time, duration_);
199 if (progress >= 1.0)
200 progress = 1.0;
201 return (1.0 - progress) * from_ + progress * to_;
202 }
203
204 FakeLayerAnimationValueObserver::FakeLayerAnimationValueObserver()
205 : opacity_(0.0f), animation_waiting_for_deletion_(false) {
206 }
207
208 FakeLayerAnimationValueObserver::~FakeLayerAnimationValueObserver() {}
209
210 void FakeLayerAnimationValueObserver::OnFilterAnimated(
211 const FilterOperations& filters) {
212 filters_ = filters;
213 }
214
215 void FakeLayerAnimationValueObserver::OnOpacityAnimated(float opacity) {
216 opacity_ = opacity;
217 }
218
219 void FakeLayerAnimationValueObserver::OnTransformAnimated(
220 const gfx::Transform& transform) {
221 transform_ = transform;
222 }
223
224 void FakeLayerAnimationValueObserver::OnScrollOffsetAnimated(
225 const gfx::ScrollOffset& scroll_offset) {
226 scroll_offset_ = scroll_offset;
227 }
228
229 void FakeLayerAnimationValueObserver::OnAnimationWaitingForDeletion() {
230 animation_waiting_for_deletion_ = true;
231 }
232
233 bool FakeLayerAnimationValueObserver::IsActive() const {
234 return true;
235 }
236
237 bool FakeInactiveLayerAnimationValueObserver::IsActive() const {
238 return false;
239 }
240
241 gfx::ScrollOffset FakeLayerAnimationValueProvider::ScrollOffsetForAnimation()
242 const {
243 return scroll_offset_;
244 }
245
246 scoped_ptr<AnimationCurve> FakeFloatTransition::Clone() const {
247 return make_scoped_ptr(new FakeFloatTransition(*this));
248 }
249
250 int AddOpacityTransitionToController(LayerAnimationController* controller,
251 double duration,
252 float start_opacity,
253 float end_opacity,
254 bool use_timing_function) {
255 return AddOpacityTransition(controller,
256 duration,
257 start_opacity,
258 end_opacity,
259 use_timing_function);
260 }
261
262 int AddAnimatedTransformToController(LayerAnimationController* controller,
263 double duration,
264 int delta_x,
265 int delta_y) {
266 return AddAnimatedTransform(controller,
267 duration,
268 delta_x,
269 delta_y);
270 }
271
272 int AddAnimatedFilterToController(LayerAnimationController* controller,
273 double duration,
274 float start_brightness,
275 float end_brightness) {
276 return AddAnimatedFilter(
277 controller, duration, start_brightness, end_brightness);
278 }
279
280 int AddOpacityTransitionToLayer(Layer* layer,
281 double duration,
282 float start_opacity,
283 float end_opacity,
284 bool use_timing_function) {
285 return AddOpacityTransition(layer,
286 duration,
287 start_opacity,
288 end_opacity,
289 use_timing_function);
290 }
291
292 int AddOpacityTransitionToLayer(LayerImpl* layer,
293 double duration,
294 float start_opacity,
295 float end_opacity,
296 bool use_timing_function) {
297 return AddOpacityTransition(layer->layer_animation_controller(),
298 duration,
299 start_opacity,
300 end_opacity,
301 use_timing_function);
302 }
303
304 int AddAnimatedTransformToLayer(Layer* layer,
305 double duration,
306 int delta_x,
307 int delta_y) {
308 return AddAnimatedTransform(layer, duration, delta_x, delta_y);
309 }
310
311 int AddAnimatedTransformToLayer(LayerImpl* layer,
312 double duration,
313 int delta_x,
314 int delta_y) {
315 return AddAnimatedTransform(layer->layer_animation_controller(),
316 duration,
317 delta_x,
318 delta_y);
319 }
320
321 int AddAnimatedTransformToLayer(Layer* layer,
322 double duration,
323 TransformOperations start_operations,
324 TransformOperations operations) {
325 return AddAnimatedTransform(layer, duration, start_operations, operations);
326 }
327
328 int AddAnimatedTransformToLayer(LayerImpl* layer,
329 double duration,
330 TransformOperations start_operations,
331 TransformOperations operations) {
332 return AddAnimatedTransform(layer->layer_animation_controller(),
333 duration,
334 start_operations,
335 operations);
336 }
337
338 int AddAnimatedFilterToLayer(Layer* layer,
339 double duration,
340 float start_brightness,
341 float end_brightness) {
342 return AddAnimatedFilter(layer, duration, start_brightness, end_brightness);
343 }
344
345 int AddAnimatedFilterToLayer(LayerImpl* layer,
346 double duration,
347 float start_brightness,
348 float end_brightness) {
349 return AddAnimatedFilter(layer->layer_animation_controller(),
350 duration,
351 start_brightness,
352 end_brightness);
353 }
354
355 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/animation_test_common.h ('k') | cc/test/data/10_10_layer_tree.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698