| Index: cc/animation/scrollbar_animation_controller_thinning.cc
|
| diff --git a/cc/animation/scrollbar_animation_controller_thinning.cc b/cc/animation/scrollbar_animation_controller_thinning.cc
|
| deleted file mode 100644
|
| index af6987e0e0b03ff23bfcfb713cfd22d9aa3ebef4..0000000000000000000000000000000000000000
|
| --- a/cc/animation/scrollbar_animation_controller_thinning.cc
|
| +++ /dev/null
|
| @@ -1,159 +0,0 @@
|
| -// Copyright 2013 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 "cc/animation/scrollbar_animation_controller_thinning.h"
|
| -
|
| -#include "base/time/time.h"
|
| -#include "cc/layers/layer_impl.h"
|
| -#include "cc/layers/scrollbar_layer_impl_base.h"
|
| -#include "cc/trees/layer_tree_impl.h"
|
| -
|
| -namespace {
|
| -const float kIdleThicknessScale = 0.4f;
|
| -const float kIdleOpacity = 0.7f;
|
| -const float kDefaultMouseMoveDistanceToTriggerAnimation = 25.f;
|
| -}
|
| -
|
| -namespace cc {
|
| -
|
| -scoped_ptr<ScrollbarAnimationControllerThinning>
|
| -ScrollbarAnimationControllerThinning::Create(
|
| - LayerImpl* scroll_layer,
|
| - ScrollbarAnimationControllerClient* client,
|
| - base::TimeDelta delay_before_starting,
|
| - base::TimeDelta resize_delay_before_starting,
|
| - base::TimeDelta duration) {
|
| - return make_scoped_ptr(new ScrollbarAnimationControllerThinning(
|
| - scroll_layer, client, delay_before_starting, resize_delay_before_starting,
|
| - duration));
|
| -}
|
| -
|
| -ScrollbarAnimationControllerThinning::ScrollbarAnimationControllerThinning(
|
| - LayerImpl* scroll_layer,
|
| - ScrollbarAnimationControllerClient* client,
|
| - base::TimeDelta delay_before_starting,
|
| - base::TimeDelta resize_delay_before_starting,
|
| - base::TimeDelta duration)
|
| - : ScrollbarAnimationController(scroll_layer,
|
| - client,
|
| - delay_before_starting,
|
| - resize_delay_before_starting,
|
| - duration),
|
| - mouse_is_over_scrollbar_(false),
|
| - mouse_is_near_scrollbar_(false),
|
| - thickness_change_(NONE),
|
| - opacity_change_(NONE),
|
| - mouse_move_distance_to_trigger_animation_(
|
| - kDefaultMouseMoveDistanceToTriggerAnimation) {
|
| - ApplyOpacityAndThumbThicknessScale(kIdleOpacity, kIdleThicknessScale);
|
| -}
|
| -
|
| -ScrollbarAnimationControllerThinning::~ScrollbarAnimationControllerThinning() {
|
| -}
|
| -
|
| -void ScrollbarAnimationControllerThinning::RunAnimationFrame(float progress) {
|
| - float opacity = OpacityAtAnimationProgress(progress);
|
| - float thumb_thickness_scale =
|
| - ThumbThicknessScaleAtAnimationProgress(progress);
|
| - ApplyOpacityAndThumbThicknessScale(opacity, thumb_thickness_scale);
|
| - client_->SetNeedsRedrawForScrollbarAnimation();
|
| - if (progress == 1.f) {
|
| - opacity_change_ = NONE;
|
| - thickness_change_ = NONE;
|
| - StopAnimation();
|
| - }
|
| -}
|
| -
|
| -void ScrollbarAnimationControllerThinning::DidMouseMoveOffScrollbar() {
|
| - mouse_is_over_scrollbar_ = false;
|
| - mouse_is_near_scrollbar_ = false;
|
| - opacity_change_ = DECREASE;
|
| - thickness_change_ = DECREASE;
|
| - StartAnimation();
|
| -}
|
| -
|
| -void ScrollbarAnimationControllerThinning::DidScrollUpdate(bool on_resize) {
|
| - ScrollbarAnimationController::DidScrollUpdate(on_resize);
|
| - ApplyOpacityAndThumbThicknessScale(
|
| - 1, mouse_is_near_scrollbar_ ? 1.f : kIdleThicknessScale);
|
| -
|
| - if (!mouse_is_over_scrollbar_)
|
| - opacity_change_ = DECREASE;
|
| -}
|
| -
|
| -void ScrollbarAnimationControllerThinning::DidMouseMoveNear(float distance) {
|
| - bool mouse_is_over_scrollbar = distance == 0.0;
|
| - bool mouse_is_near_scrollbar =
|
| - distance < mouse_move_distance_to_trigger_animation_;
|
| -
|
| - if (mouse_is_over_scrollbar == mouse_is_over_scrollbar_ &&
|
| - mouse_is_near_scrollbar == mouse_is_near_scrollbar_)
|
| - return;
|
| -
|
| - if (mouse_is_over_scrollbar_ != mouse_is_over_scrollbar) {
|
| - mouse_is_over_scrollbar_ = mouse_is_over_scrollbar;
|
| - opacity_change_ = mouse_is_over_scrollbar_ ? INCREASE : DECREASE;
|
| - }
|
| -
|
| - if (mouse_is_near_scrollbar_ != mouse_is_near_scrollbar) {
|
| - mouse_is_near_scrollbar_ = mouse_is_near_scrollbar;
|
| - thickness_change_ = mouse_is_near_scrollbar_ ? INCREASE : DECREASE;
|
| - }
|
| -
|
| - StartAnimation();
|
| -}
|
| -
|
| -float ScrollbarAnimationControllerThinning::OpacityAtAnimationProgress(
|
| - float progress) {
|
| - if (opacity_change_ == NONE)
|
| - return mouse_is_over_scrollbar_ ? 1.f : kIdleOpacity;
|
| - float factor = opacity_change_ == INCREASE ? progress : (1.f - progress);
|
| - float ret = ((1.f - kIdleOpacity) * factor) + kIdleOpacity;
|
| - return ret;
|
| -}
|
| -
|
| -float ScrollbarAnimationControllerThinning::
|
| - ThumbThicknessScaleAtAnimationProgress(float progress) {
|
| - if (thickness_change_ == NONE)
|
| - return mouse_is_near_scrollbar_ ? 1.f : kIdleThicknessScale;
|
| - float factor = thickness_change_ == INCREASE ? progress : (1.f - progress);
|
| - return ((1.f - kIdleThicknessScale) * factor) + kIdleThicknessScale;
|
| -}
|
| -
|
| -float ScrollbarAnimationControllerThinning::AdjustScale(
|
| - float new_value,
|
| - float current_value,
|
| - AnimationChange animation_change) {
|
| - if (animation_change == INCREASE && current_value > new_value)
|
| - return current_value;
|
| - if (animation_change == DECREASE && current_value < new_value)
|
| - return current_value;
|
| - return new_value;
|
| -}
|
| -
|
| -void ScrollbarAnimationControllerThinning::ApplyOpacityAndThumbThicknessScale(
|
| - float opacity,
|
| - float thumb_thickness_scale) {
|
| - if (!scroll_layer_->scrollbars())
|
| - return;
|
| -
|
| - LayerImpl::ScrollbarSet* scrollbars = scroll_layer_->scrollbars();
|
| - for (LayerImpl::ScrollbarSet::iterator it = scrollbars->begin();
|
| - it != scrollbars->end(); ++it) {
|
| - ScrollbarLayerImplBase* scrollbar = *it;
|
| - if (scrollbar->is_overlay_scrollbar()) {
|
| - float effectiveOpacity =
|
| - scrollbar->CanScrollOrientation()
|
| - ? AdjustScale(opacity, scrollbar->opacity(), opacity_change_)
|
| - : 0;
|
| -
|
| - scrollbar->SetOpacity(effectiveOpacity);
|
| - scrollbar->SetThumbThicknessScaleFactor(AdjustScale(
|
| - thumb_thickness_scale, scrollbar->thumb_thickness_scale_factor(),
|
| - thickness_change_));
|
| - }
|
| - }
|
| -}
|
| -
|
| -} // namespace cc
|
|
|