Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Unified Diff: cc/keyframed_animation_curve.cc

Issue 12822004: Part 3 of cc/ directory shuffles: animation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/keyframed_animation_curve.h ('k') | cc/keyframed_animation_curve_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « cc/keyframed_animation_curve.h ('k') | cc/keyframed_animation_curve_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698