| Index: app/animation.cc
|
| ===================================================================
|
| --- app/animation.cc (revision 70685)
|
| +++ app/animation.cc (working copy)
|
| @@ -1,120 +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.
|
| -
|
| -#include "app/animation.h"
|
| -
|
| -#include "app/animation_container.h"
|
| -#include "app/animation_delegate.h"
|
| -#include "app/tween.h"
|
| -#include "gfx/rect.h"
|
| -
|
| -#if defined(OS_WIN)
|
| -#include "base/win/windows_version.h"
|
| -#endif
|
| -
|
| -Animation::Animation(base::TimeDelta timer_interval)
|
| - : timer_interval_(timer_interval),
|
| - is_animating_(false),
|
| - delegate_(NULL) {
|
| -}
|
| -
|
| -Animation::~Animation() {
|
| - // Don't send out notification from the destructor. Chances are the delegate
|
| - // owns us and is being deleted as well.
|
| - if (is_animating_)
|
| - container_->Stop(this);
|
| -}
|
| -
|
| -void Animation::Start() {
|
| - if (is_animating_)
|
| - return;
|
| -
|
| - if (!container_.get())
|
| - container_ = new AnimationContainer();
|
| -
|
| - is_animating_ = true;
|
| -
|
| - container_->Start(this);
|
| -
|
| - AnimationStarted();
|
| -}
|
| -
|
| -void Animation::Stop() {
|
| - if (!is_animating_)
|
| - return;
|
| -
|
| - is_animating_ = false;
|
| -
|
| - // Notify the container first as the delegate may delete us.
|
| - container_->Stop(this);
|
| -
|
| - AnimationStopped();
|
| -
|
| - if (delegate_) {
|
| - if (ShouldSendCanceledFromStop())
|
| - delegate_->AnimationCanceled(this);
|
| - else
|
| - delegate_->AnimationEnded(this);
|
| - }
|
| -}
|
| -
|
| -double Animation::CurrentValueBetween(double start, double target) const {
|
| - return Tween::ValueBetween(GetCurrentValue(), start, target);
|
| -}
|
| -
|
| -int Animation::CurrentValueBetween(int start, int target) const {
|
| - return Tween::ValueBetween(GetCurrentValue(), start, target);
|
| -}
|
| -
|
| -gfx::Rect Animation::CurrentValueBetween(const gfx::Rect& start_bounds,
|
| - const gfx::Rect& target_bounds) const {
|
| - return Tween::ValueBetween(GetCurrentValue(), start_bounds, target_bounds);
|
| -}
|
| -
|
| -void Animation::SetContainer(AnimationContainer* container) {
|
| - if (container == container_.get())
|
| - return;
|
| -
|
| - if (is_animating_)
|
| - container_->Stop(this);
|
| -
|
| - if (container)
|
| - container_ = container;
|
| - else
|
| - container_ = new AnimationContainer();
|
| -
|
| - if (is_animating_)
|
| - container_->Start(this);
|
| -}
|
| -
|
| -// static
|
| -bool Animation::ShouldRenderRichAnimation() {
|
| -#if defined(OS_WIN)
|
| - if (base::win::GetVersion() >= base::win::VERSION_VISTA) {
|
| - BOOL result;
|
| - // Get "Turn off all unnecessary animations" value.
|
| - if (::SystemParametersInfo(SPI_GETCLIENTAREAANIMATION, 0, &result, 0)) {
|
| - // There seems to be a typo in the MSDN document (as of May 2009):
|
| - // http://msdn.microsoft.com/en-us/library/ms724947(VS.85).aspx
|
| - // The document states that the result is TRUE when animations are
|
| - // _disabled_, but in fact, it is TRUE when they are _enabled_.
|
| - return !!result;
|
| - }
|
| - }
|
| - return !::GetSystemMetrics(SM_REMOTESESSION);
|
| -#endif
|
| - return true;
|
| -}
|
| -
|
| -bool Animation::ShouldSendCanceledFromStop() {
|
| - return false;
|
| -}
|
| -
|
| -void Animation::SetStartTime(base::TimeTicks start_time) {
|
| - start_time_ = start_time;
|
| -}
|
| -
|
| -base::TimeDelta Animation::GetTimerInterval() const {
|
| - return timer_interval_;
|
| -}
|
|
|