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_; |
-} |