1 // Copyright (c) 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 UI_COMPOSITOR_TRANSFORM_ANIMATION_CURVE_ADAPTER_H_
6 #define UI_COMPOSITOR_TRANSFORM_ANIMATION_CURVE_ADAPTER_H_
9 #include "cc/animation/animation_curve.h"
10 #include "ui/base/animation/tween.h"
11 #include "ui/gfx/transform.h"
12 #include "ui/gfx/transform_util.h"
16 class TransformAnimationCurveAdapter
:public cc::TransformAnimationCurve
{
18 TransformAnimationCurveAdapter(Tween::Type tween_type
,
19 gfx::Transform intial_value
,
20 gfx::Transform target_value
,
21 base::TimeDelta duration
);
23 virtual ~TransformAnimationCurveAdapter();
25 // TransformAnimationCurve implementation.
26 virtual double Duration() const OVERRIDE
;
27 virtual scoped_ptr
<AnimationCurve
> Clone() const OVERRIDE
;
28 virtual gfx::Transform
GetValue(double t
) const OVERRIDE
;
31 Tween::Type tween_type_
;
32 gfx::Transform initial_value_
;
33 gfx::Transform target_value_
;
34 gfx::DecomposedTransform decomposed_initial_value_
;
35 gfx::DecomposedTransform decomposed_target_value_
;
36 base::TimeDelta duration_
;
41 #endif // UI_COMPOSITOR_TRANSFORM_ANIMATION_CURVE_ADAPTER_H_