diff options
Diffstat (limited to 'app/animation.h')
-rw-r--r-- | app/animation.h | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/app/animation.h b/app/animation.h deleted file mode 100644 index 5affe61..0000000 --- a/app/animation.h +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright (c) 2010 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 APP_ANIMATION_H_ -#define APP_ANIMATION_H_ -#pragma once - -#include "app/animation_container_element.h" -#include "base/ref_counted.h" -#include "base/time.h" - -namespace gfx { -class Rect; -} - -class AnimationContainer; -class AnimationDelegate; - -// Base class used in implementing animations. You only need use this class if -// you're implementing a new animation type, otherwise you'll likely want one of -// LinearAnimation, SlideAnimation, ThrobAnimation or MultiAnimation. -// -// To subclass override Step, which is invoked as the animation progresses and -// GetCurrentValue() to return the value appropriate to the animation. -class Animation : public AnimationContainerElement { - public: - explicit Animation(base::TimeDelta timer_interval); - virtual ~Animation(); - - // Starts the animation. Does nothing if the animation is already running. - void Start(); - - // Stops the animation. Does nothing if the animation is not running. - void Stop(); - - // Gets the value for the current state, according to the animation - // curve in use. - virtual double GetCurrentValue() const = 0; - - // Convenience for returning a value between |start| and |target| based on - // the current value. This is (target - start) * GetCurrentValue() + start. - double CurrentValueBetween(double start, double target) const; - int CurrentValueBetween(int start, int target) const; - gfx::Rect CurrentValueBetween(const gfx::Rect& start_bounds, - const gfx::Rect& target_bounds) const; - - // Sets the delegate. - void set_delegate(AnimationDelegate* delegate) { delegate_ = delegate; } - - // Sets the container used to manage the timer. A value of NULL results in - // creating a new AnimationContainer. - void SetContainer(AnimationContainer* container); - - bool is_animating() const { return is_animating_; } - - base::TimeDelta timer_interval() const { return timer_interval_; } - - // Returns true if rich animations should be rendered. - // Looks at session type (e.g. remote desktop) and accessibility settings - // to give guidance for heavy animations such as "start download" arrow. - static bool ShouldRenderRichAnimation(); - - protected: - // Invoked from Start to allow subclasses to prepare for the animation. - virtual void AnimationStarted() {} - - // Invoked from Stop after we're removed from the container but before the - // delegate has been invoked. - virtual void AnimationStopped() {} - - // Invoked from stop to determine if cancel should be invoked. If this returns - // true the delegate is notified the animation was canceled, otherwise the - // delegate is notified the animation stopped. - virtual bool ShouldSendCanceledFromStop(); - - AnimationContainer* container() { return container_.get(); } - base::TimeTicks start_time() const { return start_time_; } - AnimationDelegate* delegate() { return delegate_; } - - // AnimationContainer::Element overrides - virtual void SetStartTime(base::TimeTicks start_time); - virtual void Step(base::TimeTicks time_now) = 0; - virtual base::TimeDelta GetTimerInterval() const; - - private: - // Interval for the animation. - const base::TimeDelta timer_interval_; - - // If true we're running. - bool is_animating_; - - // Our delegate; may be null. - AnimationDelegate* delegate_; - - // Container we're in. If non-null we're animating. - scoped_refptr<AnimationContainer> container_; - - // Time we started at. - base::TimeTicks start_time_; - - DISALLOW_COPY_AND_ASSIGN(Animation); -}; - -#endif // APP_ANIMATION_H_ |