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

Unified Diff: ui/compositor/layer_animation_observer.h

Issue 851853002: It is time. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Trying to reup because the last upload failed. Created 5 years, 11 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 | « ui/compositor/layer_animation_element_unittest.cc ('k') | ui/compositor/layer_animation_observer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/compositor/layer_animation_observer.h
diff --git a/ui/compositor/layer_animation_observer.h b/ui/compositor/layer_animation_observer.h
deleted file mode 100644
index 35253d3e3ea335bb0a70f6af0a71e68ef4bd3b73..0000000000000000000000000000000000000000
--- a/ui/compositor/layer_animation_observer.h
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright (c) 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.
-
-#ifndef UI_COMPOSITOR_LAYER_ANIMATION_OBSERVER_H_
-#define UI_COMPOSITOR_LAYER_ANIMATION_OBSERVER_H_
-
-#include <map>
-#include <set>
-
-#include "base/basictypes.h"
-#include "base/compiler_specific.h"
-#include "ui/compositor/compositor_export.h"
-#include "ui/compositor/layer_animation_element.h"
-
-namespace ui {
-
-class LayerAnimationSequence;
-class ScopedLayerAnimationSettings;
-class ImplicitAnimationObserver;
-
-// LayerAnimationObservers are notified when animations complete.
-class COMPOSITOR_EXPORT LayerAnimationObserver {
- public:
- // Called when the |sequence| ends. Not called if |sequence| is aborted.
- virtual void OnLayerAnimationEnded(
- LayerAnimationSequence* sequence) = 0;
-
- // Called if |sequence| is aborted for any reason. Should never do anything
- // that may cause another animation to be started.
- virtual void OnLayerAnimationAborted(
- LayerAnimationSequence* sequence) = 0;
-
- // Called when the animation is scheduled.
- virtual void OnLayerAnimationScheduled(
- LayerAnimationSequence* sequence) = 0;
-
- protected:
- typedef std::set<LayerAnimationSequence*> AttachedSequences;
-
- LayerAnimationObserver();
- virtual ~LayerAnimationObserver();
-
- // If the animator is destroyed during an animation, the animations are
- // aborted. The resulting NotifyAborted notifications will NOT be sent to
- // this observer if this function returns false. NOTE: IF YOU override THIS
- // FUNCTION TO RETURN TRUE, YOU MUST REMEMBER TO REMOVE YOURSELF AS AN
- // OBSERVER WHEN YOU ARE DESTROYED.
- virtual bool RequiresNotificationWhenAnimatorDestroyed() const;
-
- // Called when |this| is added to |sequence|'s observer list.
- virtual void OnAttachedToSequence(LayerAnimationSequence* sequence);
-
- // Called when |this| is removed to |sequence|'s observer list.
- virtual void OnDetachedFromSequence(LayerAnimationSequence* sequence);
-
- // Detaches this observer from all sequences it is currently observing.
- void StopObserving();
-
- const AttachedSequences& attached_sequences() const {
- return attached_sequences_;
- }
-
- private:
- friend class LayerAnimationSequence;
-
- // Called when |this| is added to |sequence|'s observer list.
- void AttachedToSequence(LayerAnimationSequence* sequence);
-
- // Called when |this| is removed to |sequence|'s observer list.
- // This will only result in notifications if |send_notification| is true.
- void DetachedFromSequence(LayerAnimationSequence* sequence,
- bool send_notification);
-
- AttachedSequences attached_sequences_;
-};
-
-// An implicit animation observer is intended to be used in conjunction with a
-// ScopedLayerAnimationSettings object in order to receive a notification when
-// all implicit animations complete.
-class COMPOSITOR_EXPORT ImplicitAnimationObserver
- : public LayerAnimationObserver {
- public:
- ImplicitAnimationObserver();
- ~ImplicitAnimationObserver() override;
-
- // Called when the first animation sequence has started.
- virtual void OnImplicitAnimationsScheduled() {}
-
- virtual void OnImplicitAnimationsCompleted() = 0;
-
- protected:
- // Deactivates the observer and clears the collection of animations it is
- // waiting for.
- void StopObservingImplicitAnimations();
-
- // Returns whether animation for |property| was aborted.
- // Note that if the property wasn't animated, then it couldn't have been
- // aborted, so this will return false for that property.
- bool WasAnimationAbortedForProperty(
- LayerAnimationElement::AnimatableProperty property) const;
-
- // Returns whether animation for |property| was completed successfully.
- // Note that if the property wasn't animated, then it couldn't have been
- // completed, so this will return false for that property.
- bool WasAnimationCompletedForProperty(
- LayerAnimationElement::AnimatableProperty property) const;
-
- private:
- enum AnimationStatus {
- ANIMATION_STATUS_UNKNOWN,
- ANIMATION_STATUS_COMPLETED,
- ANIMATION_STATUS_ABORTED,
- };
-
- friend class ScopedLayerAnimationSettings;
-
- // LayerAnimationObserver implementation
- void OnLayerAnimationEnded(LayerAnimationSequence* sequence) override;
- void OnLayerAnimationAborted(LayerAnimationSequence* sequence) override;
- void OnLayerAnimationScheduled(LayerAnimationSequence* sequence) override;
- void OnAttachedToSequence(LayerAnimationSequence* sequence) override;
- void OnDetachedFromSequence(LayerAnimationSequence* sequence) override;
-
- // OnImplicitAnimationsCompleted is not fired unless the observer is active.
- bool active() const { return active_; }
- void SetActive(bool active);
-
- void CheckCompleted();
-
- void UpdatePropertyAnimationStatus(LayerAnimationSequence* sequence,
- AnimationStatus status);
- AnimationStatus AnimationStatusForProperty(
- LayerAnimationElement::AnimatableProperty property) const;
-
- bool active_;
-
- // Set to true in the destructor (if non-NULL). Used to detect deletion while
- // calling out.
- bool* destroyed_;
-
- typedef std::map<LayerAnimationElement::AnimatableProperty,
- AnimationStatus> PropertyAnimationStatusMap;
- PropertyAnimationStatusMap property_animation_status_;
-
- // True if OnLayerAnimationScheduled() has been called at least once.
- bool first_sequence_scheduled_;
-};
-
-} // namespace ui
-
-#endif // UI_COMPOSITOR_LAYER_ANIMATION_OBSERVER_H_
« no previous file with comments | « ui/compositor/layer_animation_element_unittest.cc ('k') | ui/compositor/layer_animation_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698