diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-05 04:52:11 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-05 04:52:11 +0000 |
commit | 220705c2b06962462e471b28ad85c76c0f9c3080 (patch) | |
tree | cfc44266116bbf2acc3a4fae32625c4481c8243e /chrome/common/animation.h | |
parent | 1b8d02f181d089ee670f2ba72089c3722f679d5f (diff) | |
download | chromium_src-220705c2b06962462e471b28ad85c76c0f9c3080.zip chromium_src-220705c2b06962462e471b28ad85c76c0f9c3080.tar.gz chromium_src-220705c2b06962462e471b28ad85c76c0f9c3080.tar.bz2 |
Move *Animation to app/
http://crbug.com/11387
Review URL: http://codereview.chromium.org/109001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15275 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/animation.h')
-rw-r--r-- | chrome/common/animation.h | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/chrome/common/animation.h b/chrome/common/animation.h deleted file mode 100644 index 1771b16..0000000 --- a/chrome/common/animation.h +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright (c) 2006-2008 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. -// Inspired by NSAnimation - -#ifndef CHROME_COMMON_ANIMATION_H__ -#define CHROME_COMMON_ANIMATION_H__ - -#include "base/timer.h" - -class Animation; - -// AnimationDelegate -// -// Implement this interface when you want to receive notifications about the -// state of an animation. -// -class AnimationDelegate { - public: - // Called when an animation has started. - virtual void AnimationStarted(const Animation* animation) { - } - - // Called when an animation has completed. - virtual void AnimationEnded(const Animation* animation) { - } - - // Called when an animation has progressed. - virtual void AnimationProgressed(const Animation* animation) { - } - - // Called when an animation has been canceled. - virtual void AnimationCanceled(const Animation* animation) { - } -}; - -// Animation -// -// This class provides a basic implementation of an object that uses a timer -// to increment its state over the specified time and frame-rate. To -// actually do something useful with this you need to subclass it and override -// AnimateToState and optionally GetCurrentValue to update your state. -// -// The Animation notifies a delegate when events of interest occur. -// -// The practice is to instantiate a subclass and call Init and any other -// initialization specific to the subclass, and then call |Start|. The -// animation uses the current thread's message loop. -// -class Animation { - public: - // Initializes everything except the duration. - // - // Caller must make sure to call SetDuration() if they use this - // constructor; it is preferable to use the full one, but sometimes - // duration can change between calls to Start() and we need to - // expose this interface. - Animation(int frame_rate, AnimationDelegate* delegate); - - // Initializes all fields. - Animation(int duration, int frame_rate, AnimationDelegate* delegate); - virtual ~Animation(); - - // Reset state so that the animation can be started again. - virtual void Reset(); - - // Called when the animation progresses. Subclasses override this to - // efficiently update their state. - virtual void AnimateToState(double state) = 0; - - // Gets the value for the current state, according to the animation - // curve in use. This class provides only for a linear relationship, - // however subclasses can override this to provide others. - virtual double GetCurrentValue() const; - - // Start the animation. - void Start(); - - // Stop the animation. - void Stop(); - - // Skip to the end of the current animation. - void End(); - - // Return whether this animation is animating. - bool IsAnimating(); - - // Changes the length of the animation. This resets the current - // state of the animation to the beginning. - void SetDuration(int duration); - - protected: - // Overriddable, called by Run. - virtual void Step(); - - // Calculates the timer interval from the constructor list. - int CalculateInterval(int frame_rate); - - // Whether or not we are currently animating. - bool animating_; - - int frame_rate_; - int timer_interval_; - int duration_; - - // For determining state. - int iteration_count_; - int current_iteration_; - double state_; - - AnimationDelegate* delegate_; - - base::RepeatingTimer<Animation> timer_; - - private: - // Called when the animation's timer expires, calls Step. - void Run(); - - DISALLOW_EVIL_CONSTRUCTORS(Animation); -}; - -#endif // CHROME_COMMON_ANIMATION_H__ |