| Index: cc/animation/timing_function.cc
|
| diff --git a/cc/animation/timing_function.cc b/cc/animation/timing_function.cc
|
| index 71319e121d8c10ad3bf2f0c0a6b9dfd37c7bf165..25bd10e7ffd8415b2cc1967c5f4b2c46bdecd289 100644
|
| --- a/cc/animation/timing_function.cc
|
| +++ b/cc/animation/timing_function.cc
|
| @@ -71,4 +71,38 @@ 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);
|
| +}
|
| +
|
| +float StepsTimingFunction::Velocity(double x) const {
|
| + return 0.0f;
|
| +}
|
| +
|
| } // namespace cc
|
|
|