Separate Simple Backend creation from initialization.
[chromium-blink-merge.git] / ui / compositor / transform_animation_curve_adapter.h
blob56089f38a3881aa7decc1e394d796b8d2ce1f80c
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_
8 #include "base/time.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"
14 namespace ui {
16 class TransformAnimationCurveAdapter :public cc::TransformAnimationCurve {
17 public:
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;
30 private:
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_;
39 } // namespace ui
41 #endif // UI_COMPOSITOR_TRANSFORM_ANIMATION_CURVE_ADAPTER_H_