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. 4 5 #ifndef UI_COMPOSITOR_FLOAT_ANIMATION_CURVE_ADAPTER_H_ 6 #define UI_COMPOSITOR_FLOAT_ANIMATION_CURVE_ADAPTER_H_ 7 8 #include "base/time/time.h" 9 #include "cc/animation/animation_curve.h" 10 #include "ui/gfx/animation/tween.h" 11 12 namespace ui { 13 14 class FloatAnimationCurveAdapter : public cc::FloatAnimationCurve { 15 public: 16 FloatAnimationCurveAdapter(gfx::Tween::Type tween_type, 17 float initial_value, 18 float target_value, 19 base::TimeDelta duration); 20 ~FloatAnimationCurveAdapter()21 virtual ~FloatAnimationCurveAdapter() { } 22 23 // FloatAnimationCurve implementation. 24 virtual double Duration() const OVERRIDE; 25 virtual scoped_ptr<cc::AnimationCurve> Clone() const OVERRIDE; 26 virtual float GetValue(double t) const OVERRIDE; 27 28 private: 29 gfx::Tween::Type tween_type_; 30 float initial_value_; 31 float target_value_; 32 base::TimeDelta duration_; 33 }; 34 35 } // namespace ui 36 37 #endif // UI_COMPOSITOR_FLOAT_ANIMATION_CURVE_ADAPTER_H_ 38