| Index: cc/animation/timing_function.cc
|
| diff --git a/cc/animation/timing_function.cc b/cc/animation/timing_function.cc
|
| index bf11c20fe03a13f448f486ff600aef2005ea9d4c..5599b022696dd23b35b640c323fedd2a023fd890 100644
|
| --- a/cc/animation/timing_function.cc
|
| +++ b/cc/animation/timing_function.cc
|
| @@ -67,4 +67,32 @@ scoped_ptr<TimingFunction> EaseInOutTimingFunction::Create() {
|
| 0.42, 0.0, 0.58, 1).PassAs<TimingFunction>();
|
| }
|
|
|
| +scoped_ptr<StepsTimingFunction> StepsTimingFunction::Create(
|
| + int steps, bool steps_at_start) {
|
| + return make_scoped_ptr(new StepsTimingFunction(steps, steps_at_start));
|
| +}
|
| +
|
| +StepsTimingFunction::StepsTimingFunction(int steps,
|
| + bool steps_at_start)
|
| + : steps_(steps, steps_at_start) {}
|
| +
|
| +StepsTimingFunction::~StepsTimingFunction() {}
|
| +
|
| +float StepsTimingFunction::GetValue(double x) const {
|
| + return static_cast<float>(steps_.Solve(x));
|
| +}
|
| +
|
| +scoped_ptr<AnimationCurve> StepsTimingFunction::Clone() const {
|
| + return make_scoped_ptr(
|
| + new StepsTimingFunction(*this)).PassAs<AnimationCurve>();
|
| +}
|
| +
|
| +void StepsTimingFunction::Range(float* min, float* max) const {
|
| + double min_d = 0;
|
| + double max_d = 1;
|
| + steps_.Range(&min_d, &max_d);
|
| + *min = static_cast<float>(min_d);
|
| + *max = static_cast<float>(max_d);
|
| +}
|
| +
|
| } // namespace cc
|
|
|