// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_COMPOSITOR_FLOAT_ANIMATION_CURVE_ADAPTER_H_ #define UI_COMPOSITOR_FLOAT_ANIMATION_CURVE_ADAPTER_H_ #include "base/time/time.h" #include "cc/animation/animation_curve.h" #include "ui/gfx/animation/tween.h" namespace ui { class FloatAnimationCurveAdapter : public cc::FloatAnimationCurve { public: FloatAnimationCurveAdapter(gfx::Tween::Type tween_type, float initial_value, float target_value, base::TimeDelta duration); ~FloatAnimationCurveAdapter() override {} // FloatAnimationCurve implementation. base::TimeDelta Duration() const override; scoped_ptr Clone() const override; float GetValue(base::TimeDelta t) const override; private: gfx::Tween::Type tween_type_; float initial_value_; float target_value_; base::TimeDelta duration_; }; } // namespace ui #endif // UI_COMPOSITOR_FLOAT_ANIMATION_CURVE_ADAPTER_H_