| Index: cc/keyframed_animation_curve.cc
|
| diff --git a/cc/keyframed_animation_curve.cc b/cc/keyframed_animation_curve.cc
|
| deleted file mode 100644
|
| index 5473f4ed6b061799fd9868c52f6fb121d4a1cbc3..0000000000000000000000000000000000000000
|
| --- a/cc/keyframed_animation_curve.cc
|
| +++ /dev/null
|
| @@ -1,200 +0,0 @@
|
| -// Copyright 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.
|
| -
|
| -#include "cc/keyframed_animation_curve.h"
|
| -
|
| -namespace cc {
|
| -
|
| -namespace {
|
| -
|
| -template <class Keyframe>
|
| -void InsertKeyframe(scoped_ptr<Keyframe> keyframe,
|
| - ScopedPtrVector<Keyframe>& keyframes) {
|
| - // Usually, the keyframes will be added in order, so this loop would be
|
| - // unnecessary and we should skip it if possible.
|
| - if (!keyframes.empty() && keyframe->Time() < keyframes.back()->Time()) {
|
| - for (size_t i = 0; i < keyframes.size(); ++i) {
|
| - if (keyframe->Time() < keyframes[i]->Time()) {
|
| - keyframes.insert(keyframes.begin() + i, keyframe.Pass());
|
| - return;
|
| - }
|
| - }
|
| - }
|
| -
|
| - keyframes.push_back(keyframe.Pass());
|
| -}
|
| -
|
| -scoped_ptr<TimingFunction> CloneTimingFunction(
|
| - const TimingFunction* timing_function) {
|
| - DCHECK(timing_function);
|
| - scoped_ptr<AnimationCurve> curve(timing_function->Clone());
|
| - return scoped_ptr<TimingFunction>(
|
| - static_cast<TimingFunction*>(curve.release()));
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -Keyframe::Keyframe(double time, scoped_ptr<TimingFunction> timing_function)
|
| - : time_(time),
|
| - timing_function_(timing_function.Pass()) {}
|
| -
|
| -Keyframe::~Keyframe() {}
|
| -
|
| -double Keyframe::Time() const {
|
| - return time_;
|
| -}
|
| -
|
| -scoped_ptr<FloatKeyframe> FloatKeyframe::Create(
|
| - double time,
|
| - float value,
|
| - scoped_ptr<TimingFunction> timing_function) {
|
| - return make_scoped_ptr(
|
| - new FloatKeyframe(time, value, timing_function.Pass()));
|
| -}
|
| -
|
| -FloatKeyframe::FloatKeyframe(double time,
|
| - float value,
|
| - scoped_ptr<TimingFunction> timing_function)
|
| - : Keyframe(time, timing_function.Pass()),
|
| - value_(value) {}
|
| -
|
| -FloatKeyframe::~FloatKeyframe() {}
|
| -
|
| -float FloatKeyframe::Value() const {
|
| - return value_;
|
| -}
|
| -
|
| -scoped_ptr<FloatKeyframe> FloatKeyframe::Clone() const {
|
| - scoped_ptr<TimingFunction> func;
|
| - if (timing_function())
|
| - func = CloneTimingFunction(timing_function());
|
| - return FloatKeyframe::Create(Time(), Value(), func.Pass());
|
| -}
|
| -
|
| -scoped_ptr<TransformKeyframe> TransformKeyframe::Create(
|
| - double time,
|
| - const TransformOperations& value,
|
| - scoped_ptr<TimingFunction> timing_function) {
|
| - return make_scoped_ptr(
|
| - new TransformKeyframe(time, value, timing_function.Pass()));
|
| -}
|
| -
|
| -TransformKeyframe::TransformKeyframe(double time,
|
| - const TransformOperations& value,
|
| - scoped_ptr<TimingFunction> timing_function)
|
| - : Keyframe(time, timing_function.Pass()),
|
| - value_(value) {}
|
| -
|
| -TransformKeyframe::~TransformKeyframe() {}
|
| -
|
| -const TransformOperations& TransformKeyframe::Value() const {
|
| - return value_;
|
| -}
|
| -
|
| -scoped_ptr<TransformKeyframe> TransformKeyframe::Clone() const {
|
| - scoped_ptr<TimingFunction> func;
|
| - if (timing_function())
|
| - func = CloneTimingFunction(timing_function());
|
| - return TransformKeyframe::Create(Time(), Value(), func.Pass());
|
| -}
|
| -
|
| -scoped_ptr<KeyframedFloatAnimationCurve> KeyframedFloatAnimationCurve::
|
| - Create() {
|
| - return make_scoped_ptr(new KeyframedFloatAnimationCurve);
|
| -}
|
| -
|
| -KeyframedFloatAnimationCurve::KeyframedFloatAnimationCurve() {}
|
| -
|
| -KeyframedFloatAnimationCurve::~KeyframedFloatAnimationCurve() {}
|
| -
|
| -void KeyframedFloatAnimationCurve::AddKeyframe(
|
| - scoped_ptr<FloatKeyframe> keyframe) {
|
| - InsertKeyframe(keyframe.Pass(), keyframes_);
|
| -}
|
| -
|
| -double KeyframedFloatAnimationCurve::Duration() const {
|
| - return keyframes_.back()->Time() - keyframes_.front()->Time();
|
| -}
|
| -
|
| -scoped_ptr<AnimationCurve> KeyframedFloatAnimationCurve::Clone() const {
|
| - scoped_ptr<KeyframedFloatAnimationCurve> to_return(
|
| - KeyframedFloatAnimationCurve::Create());
|
| - for (size_t i = 0; i < keyframes_.size(); ++i)
|
| - to_return->AddKeyframe(keyframes_[i]->Clone());
|
| - return to_return.PassAs<AnimationCurve>();
|
| -}
|
| -
|
| -float KeyframedFloatAnimationCurve::GetValue(double t) const {
|
| - if (t <= keyframes_.front()->Time())
|
| - return keyframes_.front()->Value();
|
| -
|
| - if (t >= keyframes_.back()->Time())
|
| - return keyframes_.back()->Value();
|
| -
|
| - size_t i = 0;
|
| - for (; i < keyframes_.size() - 1; ++i) {
|
| - if (t < keyframes_[i+1]->Time())
|
| - break;
|
| - }
|
| -
|
| - float progress =
|
| - static_cast<float>((t - keyframes_[i]->Time()) /
|
| - (keyframes_[i+1]->Time() - keyframes_[i]->Time()));
|
| -
|
| - if (keyframes_[i]->timing_function())
|
| - progress = keyframes_[i]->timing_function()->GetValue(progress);
|
| -
|
| - return keyframes_[i]->Value() +
|
| - (keyframes_[i+1]->Value() - keyframes_[i]->Value()) * progress;
|
| -}
|
| -
|
| -scoped_ptr<KeyframedTransformAnimationCurve> KeyframedTransformAnimationCurve::
|
| - Create() {
|
| - return make_scoped_ptr(new KeyframedTransformAnimationCurve);
|
| -}
|
| -
|
| -KeyframedTransformAnimationCurve::KeyframedTransformAnimationCurve() {}
|
| -
|
| -KeyframedTransformAnimationCurve::~KeyframedTransformAnimationCurve() {}
|
| -
|
| -void KeyframedTransformAnimationCurve::AddKeyframe(
|
| - scoped_ptr<TransformKeyframe> keyframe) {
|
| - InsertKeyframe(keyframe.Pass(), keyframes_);
|
| -}
|
| -
|
| -double KeyframedTransformAnimationCurve::Duration() const {
|
| - return keyframes_.back()->Time() - keyframes_.front()->Time();
|
| -}
|
| -
|
| -scoped_ptr<AnimationCurve> KeyframedTransformAnimationCurve::Clone() const {
|
| - scoped_ptr<KeyframedTransformAnimationCurve> to_return(
|
| - KeyframedTransformAnimationCurve::Create());
|
| - for (size_t i = 0; i < keyframes_.size(); ++i)
|
| - to_return->AddKeyframe(keyframes_[i]->Clone());
|
| - return to_return.PassAs<AnimationCurve>();
|
| -}
|
| -
|
| -gfx::Transform KeyframedTransformAnimationCurve::GetValue(double t) const {
|
| - if (t <= keyframes_.front()->Time())
|
| - return keyframes_.front()->Value().Apply();
|
| -
|
| - if (t >= keyframes_.back()->Time())
|
| - return keyframes_.back()->Value().Apply();
|
| -
|
| - size_t i = 0;
|
| - for (; i < keyframes_.size() - 1; ++i) {
|
| - if (t < keyframes_[i+1]->Time())
|
| - break;
|
| - }
|
| -
|
| - double progress = (t - keyframes_[i]->Time()) /
|
| - (keyframes_[i+1]->Time() - keyframes_[i]->Time());
|
| -
|
| - if (keyframes_[i]->timing_function())
|
| - progress = keyframes_[i]->timing_function()->GetValue(progress);
|
| -
|
| - return keyframes_[i+1]->Value().Blend(keyframes_[i]->Value(), progress);
|
| -}
|
| -
|
| -} // namespace cc
|
|
|