| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/views/controls/glow_hover_controller.h" | 5 #include "ui/views/controls/glow_hover_controller.h" |
| 6 | 6 |
| 7 #include "third_party/skia/include/effects/SkGradientShader.h" | 7 #include "third_party/skia/include/effects/SkGradientShader.h" |
| 8 #include "ui/gfx/canvas.h" | 8 #include "ui/gfx/canvas.h" |
| 9 #include "ui/gfx/image/image_skia.h" | 9 #include "ui/gfx/image/image_skia.h" |
| 10 #include "ui/gfx/image/image_skia_operations.h" | 10 #include "ui/gfx/image/image_skia_operations.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 : view_(view), | 23 : view_(view), |
| 24 animation_(this), | 24 animation_(this), |
| 25 opacity_scale_(kTrackOpacityScale) { | 25 opacity_scale_(kTrackOpacityScale) { |
| 26 animation_.set_delegate(this); | 26 animation_.set_delegate(this); |
| 27 } | 27 } |
| 28 | 28 |
| 29 GlowHoverController::~GlowHoverController() { | 29 GlowHoverController::~GlowHoverController() { |
| 30 } | 30 } |
| 31 | 31 |
| 32 void GlowHoverController::SetAnimationContainer( | 32 void GlowHoverController::SetAnimationContainer( |
| 33 ui::AnimationContainer* container) { | 33 gfx::AnimationContainer* container) { |
| 34 animation_.SetContainer(container); | 34 animation_.SetContainer(container); |
| 35 } | 35 } |
| 36 | 36 |
| 37 void GlowHoverController::SetLocation(const gfx::Point& location) { | 37 void GlowHoverController::SetLocation(const gfx::Point& location) { |
| 38 location_ = location; | 38 location_ = location; |
| 39 if (ShouldDraw()) | 39 if (ShouldDraw()) |
| 40 view_->SchedulePaint(); | 40 view_->SchedulePaint(); |
| 41 } | 41 } |
| 42 | 42 |
| 43 void GlowHoverController::Show(Style style) { | 43 void GlowHoverController::Show(Style style) { |
| 44 switch (style) { | 44 switch (style) { |
| 45 case SUBTLE: | 45 case SUBTLE: |
| 46 opacity_scale_ = kTrackOpacityScale; | 46 opacity_scale_ = kTrackOpacityScale; |
| 47 animation_.SetSlideDuration(kTrackHoverDurationMs); | 47 animation_.SetSlideDuration(kTrackHoverDurationMs); |
| 48 animation_.SetTweenType(ui::Tween::EASE_OUT); | 48 animation_.SetTweenType(gfx::Tween::EASE_OUT); |
| 49 animation_.Show(); | 49 animation_.Show(); |
| 50 break; | 50 break; |
| 51 case PRONOUNCED: | 51 case PRONOUNCED: |
| 52 opacity_scale_ = kHighlightOpacityScale; | 52 opacity_scale_ = kHighlightOpacityScale; |
| 53 // Force the end state to show immediately. | 53 // Force the end state to show immediately. |
| 54 animation_.Show(); | 54 animation_.Show(); |
| 55 animation_.End(); | 55 animation_.End(); |
| 56 break; | 56 break; |
| 57 } | 57 } |
| 58 } | 58 } |
| 59 | 59 |
| 60 void GlowHoverController::Hide() { | 60 void GlowHoverController::Hide() { |
| 61 animation_.SetTweenType(ui::Tween::EASE_IN); | 61 animation_.SetTweenType(gfx::Tween::EASE_IN); |
| 62 animation_.Hide(); | 62 animation_.Hide(); |
| 63 } | 63 } |
| 64 | 64 |
| 65 void GlowHoverController::HideImmediately() { | 65 void GlowHoverController::HideImmediately() { |
| 66 if (ShouldDraw()) | 66 if (ShouldDraw()) |
| 67 view_->SchedulePaint(); | 67 view_->SchedulePaint(); |
| 68 animation_.Reset(); | 68 animation_.Reset(); |
| 69 } | 69 } |
| 70 | 70 |
| 71 double GlowHoverController::GetAnimationValue() const { | 71 double GlowHoverController::GetAnimationValue() const { |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 hover_canvas.DrawRect(gfx::Rect(location_.x() - radius, | 110 hover_canvas.DrawRect(gfx::Rect(location_.x() - radius, |
| 111 location_.y() - radius, | 111 location_.y() - radius, |
| 112 radius * 2, radius * 2), paint); | 112 radius * 2, radius * 2), paint); |
| 113 } | 113 } |
| 114 gfx::ImageSkia result = gfx::ImageSkiaOperations::CreateMaskedImage( | 114 gfx::ImageSkia result = gfx::ImageSkiaOperations::CreateMaskedImage( |
| 115 gfx::ImageSkia(hover_canvas.ExtractImageRep()), mask_image); | 115 gfx::ImageSkia(hover_canvas.ExtractImageRep()), mask_image); |
| 116 canvas->DrawImageInt(result, (view_->width() - mask_image.width()) / 2, | 116 canvas->DrawImageInt(result, (view_->width() - mask_image.width()) / 2, |
| 117 (view_->height() - mask_image.height()) / 2); | 117 (view_->height() - mask_image.height()) / 2); |
| 118 } | 118 } |
| 119 | 119 |
| 120 void GlowHoverController::AnimationEnded(const ui::Animation* animation) { | 120 void GlowHoverController::AnimationEnded(const gfx::Animation* animation) { |
| 121 view_->SchedulePaint(); | 121 view_->SchedulePaint(); |
| 122 } | 122 } |
| 123 | 123 |
| 124 void GlowHoverController::AnimationProgressed(const ui::Animation* animation) { | 124 void GlowHoverController::AnimationProgressed(const gfx::Animation* animation) { |
| 125 view_->SchedulePaint(); | 125 view_->SchedulePaint(); |
| 126 } | 126 } |
| 127 | 127 |
| 128 } // namespace views | 128 } // namespace views |
| OLD | NEW |