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

Side by Side Diff: ui/gfx/compositor/layer_animator.h

Issue 8362006: Reland r107720 - Enable the new layer animation framework. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address reviewer comments. 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_GFX_COMPOSITOR_LAYER_ANIMATOR_H_ 5 #ifndef UI_GFX_COMPOSITOR_LAYER_ANIMATOR_H_
6 #define UI_GFX_COMPOSITOR_LAYER_ANIMATOR_H_ 6 #define UI_GFX_COMPOSITOR_LAYER_ANIMATOR_H_
7 #pragma once 7 #pragma once
8 8
9 #include <deque> 9 #include <deque>
10 #include <vector> 10 #include <vector>
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 virtual ~LayerAnimator(); 43 virtual ~LayerAnimator();
44 44
45 // No implicit animations when properties are set. 45 // No implicit animations when properties are set.
46 static LayerAnimator* CreateDefaultAnimator(); 46 static LayerAnimator* CreateDefaultAnimator();
47 47
48 // Implicitly animates when properties are set. 48 // Implicitly animates when properties are set.
49 static LayerAnimator* CreateImplicitAnimator(); 49 static LayerAnimator* CreateImplicitAnimator();
50 50
51 // Sets the transform on the delegate. May cause an implicit animation. 51 // Sets the transform on the delegate. May cause an implicit animation.
52 virtual void SetTransform(const Transform& transform); 52 virtual void SetTransform(const Transform& transform);
53 Transform GetTargetTransform() const;
53 54
54 // Sets the bounds on the delegate. May cause an implicit animation. 55 // Sets the bounds on the delegate. May cause an implicit animation.
55 virtual void SetBounds(const gfx::Rect& bounds); 56 virtual void SetBounds(const gfx::Rect& bounds);
57 gfx::Rect GetTargetBounds() const;
56 58
57 // Sets the opacity on the delegate. May cause an implicit animation. 59 // Sets the opacity on the delegate. May cause an implicit animation.
58 virtual void SetOpacity(float opacity); 60 virtual void SetOpacity(float opacity);
61 float GetTargetOpacity() const;
59 62
60 // Sets the layer animation delegate the animator is associated with. The 63 // Sets the layer animation delegate the animator is associated with. The
61 // animator does not own the delegate. 64 // animator does not own the delegate.
62 void SetDelegate(LayerAnimationDelegate* delegate); 65 void SetDelegate(LayerAnimationDelegate* delegate);
63 66
64 // Sets the animation preemption strategy. This determines the behaviour if 67 // Sets the animation preemption strategy. This determines the behaviour if
65 // a property is set during an animation. The default is 68 // a property is set during an animation. The default is
66 // IMMEDIATELY_SET_NEW_TARGET (see ImmediatelySetNewTarget below). 69 // IMMEDIATELY_SET_NEW_TARGET (see ImmediatelySetNewTarget below).
67 void set_preemption_strategy(PreemptionStrategy strategy) { 70 void set_preemption_strategy(PreemptionStrategy strategy) {
68 preemption_strategy_ = strategy; 71 preemption_strategy_ = strategy;
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 // If there's an animation in the queue that doesn't animate the same property 172 // If there's an animation in the queue that doesn't animate the same property
170 // as a running animation, or an animation schedule to run before it, start it 173 // as a running animation, or an animation schedule to run before it, start it
171 // up. Repeat until there are no such animations. 174 // up. Repeat until there are no such animations.
172 void ProcessQueue(); 175 void ProcessQueue();
173 176
174 // Attempts to add the sequence to the list of running animations. Returns 177 // Attempts to add the sequence to the list of running animations. Returns
175 // false if there is an animation running that already animates one of the 178 // false if there is an animation running that already animates one of the
176 // properties affected by |sequence|. 179 // properties affected by |sequence|.
177 bool StartSequenceImmediately(LayerAnimationSequence* sequence); 180 bool StartSequenceImmediately(LayerAnimationSequence* sequence);
178 181
182 // Sets the value of target as if all the running and queued animations were
183 // allowed to finish.
184 void GetTargetValue(LayerAnimationElement::TargetValue* target) const;
185
179 // This is the queue of animations to run. 186 // This is the queue of animations to run.
180 AnimationQueue animation_queue_; 187 AnimationQueue animation_queue_;
181 188
182 // The target of all layer animations. 189 // The target of all layer animations.
183 LayerAnimationDelegate* delegate_; 190 LayerAnimationDelegate* delegate_;
184 191
185 // The currently running animations. 192 // The currently running animations.
186 RunningAnimations running_animations_; 193 RunningAnimations running_animations_;
187 194
188 // Determines how animations are replaced. 195 // Determines how animations are replaced.
(...skipping 11 matching lines...) Expand all
200 // This prevents the animator from automatically stepping through animations 207 // This prevents the animator from automatically stepping through animations
201 // and allows for manual stepping. 208 // and allows for manual stepping.
202 bool disable_timer_for_test_; 209 bool disable_timer_for_test_;
203 210
204 DISALLOW_COPY_AND_ASSIGN(LayerAnimator); 211 DISALLOW_COPY_AND_ASSIGN(LayerAnimator);
205 }; 212 };
206 213
207 } // namespace ui 214 } // namespace ui
208 215
209 #endif // UI_GFX_COMPOSITOR_LAYER_ANIMATOR_H_ 216 #endif // UI_GFX_COMPOSITOR_LAYER_ANIMATOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698