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.
5 #ifndef CC_TEST_ANIMATION_TEST_COMMON_H_
6 #define CC_TEST_ANIMATION_TEST_COMMON_H_
8 #include "cc/animation/animation.h"
9 #include "cc/animation/animation_curve.h"
10 #include "cc/animation/layer_animation_controller.h"
11 #include "cc/animation/layer_animation_value_observer.h"
20 class FakeFloatAnimationCurve
: public FloatAnimationCurve
{
22 FakeFloatAnimationCurve();
23 explicit FakeFloatAnimationCurve(double duration
);
24 virtual ~FakeFloatAnimationCurve();
26 virtual double Duration() const OVERRIDE
;
27 virtual float GetValue(double now
) const OVERRIDE
;
28 virtual scoped_ptr
<AnimationCurve
> Clone() const OVERRIDE
;
34 class FakeTransformTransition
: public TransformAnimationCurve
{
36 explicit FakeTransformTransition(double duration
);
37 virtual ~FakeTransformTransition();
39 virtual double Duration() const OVERRIDE
;
40 virtual gfx::Transform
GetValue(double time
) const OVERRIDE
;
41 virtual bool AnimatedBoundsForBox(const gfx::BoxF
& box
,
42 gfx::BoxF
* bounds
) const OVERRIDE
;
44 virtual scoped_ptr
<AnimationCurve
> Clone() const OVERRIDE
;
50 class FakeFloatTransition
: public FloatAnimationCurve
{
52 FakeFloatTransition(double duration
, float from
, float to
);
53 virtual ~FakeFloatTransition();
55 virtual double Duration() const OVERRIDE
;
56 virtual float GetValue(double time
) const OVERRIDE
;
58 virtual scoped_ptr
<AnimationCurve
> Clone() const OVERRIDE
;
66 class FakeLayerAnimationValueObserver
: public LayerAnimationValueObserver
{
68 FakeLayerAnimationValueObserver();
69 virtual ~FakeLayerAnimationValueObserver();
71 // LayerAnimationValueObserver implementation
72 virtual void OnOpacityAnimated(float opacity
) OVERRIDE
;
73 virtual void OnTransformAnimated(const gfx::Transform
& transform
) OVERRIDE
;
74 virtual bool IsActive() const OVERRIDE
;
76 float opacity() const { return opacity_
; }
77 const gfx::Transform
& transform() const { return transform_
; }
81 gfx::Transform transform_
;
84 class FakeInactiveLayerAnimationValueObserver
85 : public FakeLayerAnimationValueObserver
{
87 virtual bool IsActive() const OVERRIDE
;
90 int AddOpacityTransitionToController(LayerAnimationController
* controller
,
94 bool use_timing_function
);
96 int AddAnimatedTransformToController(LayerAnimationController
* controller
,
101 int AddOpacityTransitionToLayer(Layer
* layer
,
105 bool use_timing_function
);
107 int AddOpacityTransitionToLayer(LayerImpl
* layer
,
111 bool use_timing_function
);
113 int AddAnimatedTransformToLayer(Layer
* layer
,
118 int AddAnimatedTransformToLayer(LayerImpl
* layer
,
125 #endif // CC_TEST_ANIMATION_TEST_COMMON_H_