Index: chrome/browser/ui/panels/panel_bounds_animation.cc |
diff --git a/chrome/browser/ui/panels/panel_bounds_animation.cc b/chrome/browser/ui/panels/panel_bounds_animation.cc |
deleted file mode 100644 |
index b596f84170f791e52ffc2a290c8f549cf49582dd..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/panels/panel_bounds_animation.cc |
+++ /dev/null |
@@ -1,81 +0,0 @@ |
-// Copyright (c) 2012 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 "chrome/browser/ui/panels/panel_bounds_animation.h" |
- |
-#include "chrome/browser/ui/panels/panel.h" |
-#include "chrome/browser/ui/panels/panel_manager.h" |
- |
-namespace { |
- |
-// These values are experimental and subjective. |
-const int kDefaultFramerateHz = 50; |
-const int kSetBoundsAnimationMs = 180; |
-const int kSetBoundsAnimationBigMinimizeMs = 1500; |
- |
-} |
- |
-PanelBoundsAnimation::PanelBoundsAnimation(gfx::AnimationDelegate* target, |
- Panel* panel, |
- const gfx::Rect& initial_bounds, |
- const gfx::Rect& final_bounds) |
- : gfx::LinearAnimation(kDefaultFramerateHz, target), |
- panel_(panel), |
- for_big_minimize_(false), |
- animation_stop_to_show_titlebar_(0) { |
- // Detect animation that happens when expansion state is set to MINIMIZED |
- // and there is relatively big portion of the panel to hide from view. |
- // Initialize animation differently in this case, using fast-pause-slow |
- // method, see below for more details. |
- int duration = kSetBoundsAnimationMs; |
- if (initial_bounds.height() > final_bounds.height() && |
- panel_->expansion_state() == Panel::MINIMIZED) { |
- double hidden_title_height = |
- panel_->TitleOnlyHeight() - final_bounds.height(); |
- double distance_y = initial_bounds.height() - final_bounds.height(); |
- animation_stop_to_show_titlebar_ = 1.0 - hidden_title_height / distance_y; |
- if (animation_stop_to_show_titlebar_ > 0.7) { // Relatively big movement. |
- for_big_minimize_ = true; |
- duration = kSetBoundsAnimationBigMinimizeMs; |
- } |
- } |
- SetDuration(PanelManager::AdjustTimeInterval(duration)); |
-} |
- |
-PanelBoundsAnimation::~PanelBoundsAnimation() { |
-} |
- |
-double PanelBoundsAnimation::GetCurrentValue() const { |
- return ComputeAnimationValue(gfx::LinearAnimation::GetCurrentValue(), |
- for_big_minimize_, |
- animation_stop_to_show_titlebar_); |
-} |
- |
-double PanelBoundsAnimation::ComputeAnimationValue(double progress, |
- bool for_big_minimize, double animation_stop_to_show_titlebar) { |
- if (!for_big_minimize) { |
- // Cubic easing out. |
- double value = 1.0 - progress; |
- return 1.0 - value * value * value; |
- } |
- |
- // Minimize animation is done in 3 steps: |
- // 1. Quickly (0 -> 0.15) make only titlebar visible. |
- // 2. Freeze for a little bit (0.15->0.6), just showing titlebar. |
- // 3. Slowly minimize to thin strip (0.6->1.0) |
- const double kProgressAtFreezeStart = 0.15; |
- const double kProgressAtFreezeEnd = 0.6; |
- double value; |
- if (progress <= kProgressAtFreezeStart) { |
- value = animation_stop_to_show_titlebar * |
- (progress / kProgressAtFreezeStart); |
- } else if (progress <= kProgressAtFreezeEnd) { |
- value = animation_stop_to_show_titlebar; |
- } else { |
- value = animation_stop_to_show_titlebar + |
- (1.0 - animation_stop_to_show_titlebar) * |
- ((progress - kProgressAtFreezeEnd) / (1.0 - kProgressAtFreezeEnd)); |
- } |
- return value; |
-} |