OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_COMPOSITOR_LAYER_ANIMATOR_H_ | 5 #ifndef UI_COMPOSITOR_LAYER_ANIMATOR_H_ |
6 #define UI_COMPOSITOR_LAYER_ANIMATOR_H_ | 6 #define UI_COMPOSITOR_LAYER_ANIMATOR_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
| 11 #include "base/callback.h" |
11 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
12 #include "base/memory/linked_ptr.h" | 13 #include "base/memory/linked_ptr.h" |
13 #include "base/memory/ref_counted.h" | 14 #include "base/memory/ref_counted.h" |
14 #include "base/observer_list.h" | 15 #include "base/observer_list.h" |
15 #include "base/time.h" | 16 #include "base/time.h" |
16 #include "ui/base/animation/animation_container_element.h" | 17 #include "ui/base/animation/animation_container_element.h" |
17 #include "ui/base/animation/tween.h" | 18 #include "ui/base/animation/tween.h" |
18 #include "ui/compositor/compositor_export.h" | 19 #include "ui/compositor/compositor_export.h" |
19 #include "ui/compositor/layer_animation_element.h" | 20 #include "ui/compositor/layer_animation_element.h" |
20 | 21 |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 // animation sequences. | 124 // animation sequences. |
124 void ScheduleTogether(const std::vector<LayerAnimationSequence*>& animations); | 125 void ScheduleTogether(const std::vector<LayerAnimationSequence*>& animations); |
125 | 126 |
126 // Schedules a pause for length |duration| of all the specified properties. | 127 // Schedules a pause for length |duration| of all the specified properties. |
127 // End the list with -1. | 128 // End the list with -1. |
128 void SchedulePauseForProperties( | 129 void SchedulePauseForProperties( |
129 base::TimeDelta duration, | 130 base::TimeDelta duration, |
130 LayerAnimationElement::AnimatableProperty property, | 131 LayerAnimationElement::AnimatableProperty property, |
131 ...); | 132 ...); |
132 | 133 |
| 134 // Schedules a pause with zero length of all the specified properties. |
| 135 // End the list with -1. If animation is not cancelled, |callback| will be |
| 136 // called. |
| 137 void SetCompletionCallbackForProperties( |
| 138 base::Closure& callback, |
| 139 LayerAnimationElement::AnimatableProperty property, |
| 140 ...); |
| 141 |
133 // Returns true if there is an animation in the queue (animations remain in | 142 // Returns true if there is an animation in the queue (animations remain in |
134 // the queue until they complete, so this includes running animations). | 143 // the queue until they complete, so this includes running animations). |
135 bool is_animating() const { return !animation_queue_.empty(); } | 144 bool is_animating() const { return !animation_queue_.empty(); } |
136 | 145 |
137 // Returns true if there is an animation in the queue that animates the given | 146 // Returns true if there is an animation in the queue that animates the given |
138 // property (animations remain in the queue until they complete, so this | 147 // property (animations remain in the queue until they complete, so this |
139 // includes running animations). | 148 // includes running animations). |
140 bool IsAnimatingProperty( | 149 bool IsAnimatingProperty( |
141 LayerAnimationElement::AnimatableProperty property) const; | 150 LayerAnimationElement::AnimatableProperty property) const; |
142 | 151 |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 // Observers are notified when layer animations end, are scheduled or are | 365 // Observers are notified when layer animations end, are scheduled or are |
357 // aborted. | 366 // aborted. |
358 ObserverList<LayerAnimationObserver> observers_; | 367 ObserverList<LayerAnimationObserver> observers_; |
359 | 368 |
360 DISALLOW_COPY_AND_ASSIGN(LayerAnimator); | 369 DISALLOW_COPY_AND_ASSIGN(LayerAnimator); |
361 }; | 370 }; |
362 | 371 |
363 } // namespace ui | 372 } // namespace ui |
364 | 373 |
365 #endif // UI_COMPOSITOR_LAYER_ANIMATOR_H_ | 374 #endif // UI_COMPOSITOR_LAYER_ANIMATOR_H_ |
OLD | NEW |