| 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 |