Index: app/linear_animation.cc |
=================================================================== |
--- app/linear_animation.cc (revision 70685) |
+++ app/linear_animation.cc (working copy) |
@@ -1,92 +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/linear_animation.h" |
- |
-#include <math.h> |
- |
-#include "app/animation_container.h" |
-#include "app/animation_delegate.h" |
- |
-using base::Time; |
-using base::TimeDelta; |
- |
-static TimeDelta CalculateInterval(int frame_rate) { |
- int timer_interval = 1000000 / frame_rate; |
- if (timer_interval < 10000) |
- timer_interval = 10000; |
- return TimeDelta::FromMicroseconds(timer_interval); |
-} |
- |
-LinearAnimation::LinearAnimation(int frame_rate, |
- AnimationDelegate* delegate) |
- : Animation(CalculateInterval(frame_rate)), |
- state_(0.0), |
- in_end_(false) { |
- set_delegate(delegate); |
-} |
- |
-LinearAnimation::LinearAnimation(int duration, |
- int frame_rate, |
- AnimationDelegate* delegate) |
- : Animation(CalculateInterval(frame_rate)), |
- duration_(TimeDelta::FromMilliseconds(duration)), |
- state_(0.0), |
- in_end_(false) { |
- set_delegate(delegate); |
- SetDuration(duration); |
-} |
- |
-double LinearAnimation::GetCurrentValue() const { |
- // Default is linear relationship, subclass to adapt. |
- return state_; |
-} |
- |
-void LinearAnimation::End() { |
- if (!is_animating()) |
- return; |
- |
- // NOTE: We don't use AutoReset here as Stop may end up deleting us (by way |
- // of the delegate). |
- in_end_ = true; |
- Stop(); |
-} |
- |
-void LinearAnimation::SetDuration(int duration) { |
- duration_ = TimeDelta::FromMilliseconds(duration); |
- if (duration_ < timer_interval()) |
- duration_ = timer_interval(); |
- if (is_animating()) |
- SetStartTime(container()->last_tick_time()); |
-} |
- |
-void LinearAnimation::Step(base::TimeTicks time_now) { |
- TimeDelta elapsed_time = time_now - start_time(); |
- state_ = static_cast<double>(elapsed_time.InMicroseconds()) / |
- static_cast<double>(duration_.InMicroseconds()); |
- if (state_ >= 1.0) |
- state_ = 1.0; |
- |
- AnimateToState(state_); |
- |
- if (delegate()) |
- delegate()->AnimationProgressed(this); |
- |
- if (state_ == 1.0) |
- Stop(); |
-} |
- |
-void LinearAnimation::AnimationStopped() { |
- if (!in_end_) |
- return; |
- |
- in_end_ = false; |
- // Set state_ to ensure we send ended to delegate and not canceled. |
- state_ = 1; |
- AnimateToState(1.0); |
-} |
- |
-bool LinearAnimation::ShouldSendCanceledFromStop() { |
- return state_ != 1; |
-} |