Home | History | Annotate | Download | only in compositor
      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 
     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