Index: ui/views/animation/ink_drop_hover.cc |
diff --git a/ui/views/animation/ink_drop_hover.cc b/ui/views/animation/ink_drop_hover.cc |
deleted file mode 100644 |
index 24ad3844eb187b27e0698010786de27c7e841e0e..0000000000000000000000000000000000000000 |
--- a/ui/views/animation/ink_drop_hover.cc |
+++ /dev/null |
@@ -1,158 +0,0 @@ |
-// Copyright 2015 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 "ui/views/animation/ink_drop_hover.h" |
- |
-#include "third_party/skia/include/core/SkColor.h" |
-#include "ui/compositor/callback_layer_animation_observer.h" |
-#include "ui/compositor/layer.h" |
-#include "ui/compositor/layer_animation_sequence.h" |
-#include "ui/compositor/scoped_layer_animation_settings.h" |
-#include "ui/views/animation/ink_drop_hover_observer.h" |
-#include "ui/views/animation/ink_drop_painted_layer_delegates.h" |
- |
-namespace views { |
- |
-namespace { |
- |
-// The opacity of the hover when it is visible. |
-const float kHoverVisibleOpacity = 0.128f; |
- |
-// The opacity of the hover when it is not visible. |
-const float kHiddenOpacity = 0.0f; |
- |
-} // namespace |
- |
-std::string ToString(InkDropHover::AnimationType animation_type) { |
- switch (animation_type) { |
- case InkDropHover::FADE_IN: |
- return std::string("FADE_IN"); |
- case InkDropHover::FADE_OUT: |
- return std::string("FADE_OUT"); |
- } |
- NOTREACHED() |
- << "Should never be reached but is necessary for some compilers."; |
- return std::string("UNKNOWN"); |
-} |
- |
-InkDropHover::InkDropHover(const gfx::Size& size, |
- int corner_radius, |
- const gfx::Point& center_point, |
- SkColor color) |
- : size_(size), |
- explode_size_(size), |
- center_point_(center_point), |
- last_animation_initiated_was_fade_in_(false), |
- layer_delegate_( |
- new RoundedRectangleLayerDelegate(color, size, corner_radius)), |
- layer_(new ui::Layer()), |
- observer_(nullptr) { |
- layer_->SetBounds(gfx::Rect(size)); |
- layer_->SetFillsBoundsOpaquely(false); |
- layer_->set_delegate(layer_delegate_.get()); |
- layer_->SetVisible(false); |
- layer_->SetOpacity(kHoverVisibleOpacity); |
- layer_->SetMasksToBounds(false); |
- layer_->set_name("InkDropHover:layer"); |
-} |
- |
-InkDropHover::~InkDropHover() {} |
- |
-bool InkDropHover::IsFadingInOrVisible() const { |
- return last_animation_initiated_was_fade_in_; |
-} |
- |
-void InkDropHover::FadeIn(const base::TimeDelta& duration) { |
- layer_->SetOpacity(kHiddenOpacity); |
- layer_->SetVisible(true); |
- AnimateFade(FADE_IN, duration, size_, size_); |
-} |
- |
-void InkDropHover::FadeOut(const base::TimeDelta& duration, bool explode) { |
- AnimateFade(FADE_OUT, duration, size_, explode ? explode_size_ : size_); |
-} |
- |
-test::InkDropHoverTestApi* InkDropHover::GetTestApi() { |
- return nullptr; |
-} |
- |
-void InkDropHover::AnimateFade(AnimationType animation_type, |
- const base::TimeDelta& duration, |
- const gfx::Size& initial_size, |
- const gfx::Size& target_size) { |
- last_animation_initiated_was_fade_in_ = animation_type == FADE_IN; |
- |
- layer_->SetTransform(CalculateTransform(initial_size)); |
- |
- // The |animation_observer| will be destroyed when the |
- // AnimationStartedCallback() returns true. |
- ui::CallbackLayerAnimationObserver* animation_observer = |
- new ui::CallbackLayerAnimationObserver( |
- base::Bind(&InkDropHover::AnimationStartedCallback, |
- base::Unretained(this), animation_type), |
- base::Bind(&InkDropHover::AnimationEndedCallback, |
- base::Unretained(this), animation_type)); |
- |
- ui::LayerAnimator* animator = layer_->GetAnimator(); |
- ui::ScopedLayerAnimationSettings animation(animator); |
- animation.SetTweenType(gfx::Tween::EASE_IN_OUT); |
- animation.SetPreemptionStrategy( |
- ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET); |
- |
- ui::LayerAnimationElement* opacity_element = |
- ui::LayerAnimationElement::CreateOpacityElement( |
- animation_type == FADE_IN ? kHoverVisibleOpacity : kHiddenOpacity, |
- duration); |
- ui::LayerAnimationSequence* opacity_sequence = |
- new ui::LayerAnimationSequence(opacity_element); |
- opacity_sequence->AddObserver(animation_observer); |
- animator->StartAnimation(opacity_sequence); |
- |
- if (initial_size != target_size) { |
- ui::LayerAnimationElement* transform_element = |
- ui::LayerAnimationElement::CreateTransformElement( |
- CalculateTransform(target_size), duration); |
- ui::LayerAnimationSequence* transform_sequence = |
- new ui::LayerAnimationSequence(transform_element); |
- transform_sequence->AddObserver(animation_observer); |
- animator->StartAnimation(transform_sequence); |
- } |
- |
- animation_observer->SetActive(); |
-} |
- |
-gfx::Transform InkDropHover::CalculateTransform(const gfx::Size& size) const { |
- gfx::Transform transform; |
- transform.Translate(center_point_.x(), center_point_.y()); |
- transform.Scale(size.width() / size_.width(), size.height() / size_.height()); |
- transform.Translate(-layer_delegate_->GetCenterPoint().x(), |
- -layer_delegate_->GetCenterPoint().y()); |
- return transform; |
-} |
- |
-void InkDropHover::AnimationStartedCallback( |
- AnimationType animation_type, |
- const ui::CallbackLayerAnimationObserver& observer) { |
- if (observer_) |
- observer_->AnimationStarted(animation_type); |
-} |
- |
-bool InkDropHover::AnimationEndedCallback( |
- AnimationType animation_type, |
- const ui::CallbackLayerAnimationObserver& observer) { |
- // AnimationEndedCallback() may be invoked when this is being destroyed and |
- // |layer_| may be null. |
- if (animation_type == FADE_OUT && layer_) |
- layer_->SetVisible(false); |
- |
- if (observer_) { |
- observer_->AnimationEnded(animation_type, |
- observer.aborted_count() |
- ? InkDropAnimationEndedReason::PRE_EMPTED |
- : InkDropAnimationEndedReason::SUCCESS); |
- } |
- return true; |
-} |
- |
-} // namespace views |