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

Unified Diff: ui/gfx/compositor/layer_animation_element.cc

Issue 8362006: Reland r107720 - Enable the new layer animation framework. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with parent patch Created 9 years, 2 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
Index: ui/gfx/compositor/layer_animation_element.cc
diff --git a/ui/gfx/compositor/layer_animation_element.cc b/ui/gfx/compositor/layer_animation_element.cc
index fb52bbb3c14c5829091fb7a1af0f17a8dae6e3ec..5459b1fff906159071d0471b499160d9176a92e3 100644
--- a/ui/gfx/compositor/layer_animation_element.cc
+++ b/ui/gfx/compositor/layer_animation_element.cc
@@ -26,6 +26,7 @@ class Pause : public LayerAnimationElement {
virtual void OnStart(LayerAnimationDelegate* delegate) OVERRIDE {}
virtual void OnProgress(double t,
LayerAnimationDelegate* delegate) OVERRIDE {}
+ virtual void OnSetTarget(LayerAnimationDelegate* delegate) const OVERRIDE {}
virtual void OnAbort() OVERRIDE {}
DISALLOW_COPY_AND_ASSIGN(Pause);
@@ -51,6 +52,10 @@ class TransformTransition : public LayerAnimationElement {
Tween::ValueBetween(t, start_, target_));
}
+ virtual void OnSetTarget(LayerAnimationDelegate* delegate) const OVERRIDE {
+ delegate->SetTransformFromAnimation(target_);
+ }
+
virtual void OnAbort() OVERRIDE {}
private:
@@ -86,6 +91,10 @@ class BoundsTransition : public LayerAnimationElement {
delegate->SetBoundsFromAnimation(Tween::ValueBetween(t, start_, target_));
}
+ virtual void OnSetTarget(LayerAnimationDelegate* delegate) const OVERRIDE {
+ delegate->SetBoundsFromAnimation(target_);
+ }
+
virtual void OnAbort() OVERRIDE {}
private:
@@ -119,6 +128,10 @@ class OpacityTransition : public LayerAnimationElement {
delegate->SetOpacityFromAnimation(Tween::ValueBetween(t, start_, target_));
}
+ virtual void OnSetTarget(LayerAnimationDelegate* delegate) const OVERRIDE {
+ delegate->SetOpacityFromAnimation(target_);
+ }
+
virtual void OnAbort() OVERRIDE {}
private:
@@ -155,9 +168,14 @@ void LayerAnimationElement::Progress(double t,
if (first_frame_)
OnStart(delegate);
OnProgress(t, delegate);
+ delegate->ScheduleDrawForAnimation();
first_frame_ = t == 1.0;
}
+void LayerAnimationElement::SetTarget(LayerAnimationDelegate* delegate) const {
+ OnSetTarget(delegate);
+}
+
void LayerAnimationElement::Abort() {
first_frame_ = true;
OnAbort();

Powered by Google App Engine
This is Rietveld 408576698