| Index: ui/views/controls/glow_hover_controller.cc
|
| diff --git a/ui/views/controls/glow_hover_controller.cc b/ui/views/controls/glow_hover_controller.cc
|
| index 82a25b92a373b524ba328ae09be8c61945c28c81..0dbfd72894a4d8358b667d2c32586289d88fe9f4 100644
|
| --- a/ui/views/controls/glow_hover_controller.cc
|
| +++ b/ui/views/controls/glow_hover_controller.cc
|
| @@ -13,16 +13,17 @@
|
| namespace views {
|
|
|
| // Amount to scale the opacity.
|
| -static const double kOpacityScale = 0.5;
|
| +static const double kTrackOpacityScale = 0.5;
|
| +static const double kHighlightOpacityScale = 1.0;
|
|
|
| // How long the hover state takes.
|
| -static const int kHoverDurationMs = 400;
|
| +static const int kTrackHoverDurationMs = 400;
|
|
|
| GlowHoverController::GlowHoverController(views::View* view)
|
| : view_(view),
|
| - ALLOW_THIS_IN_INITIALIZER_LIST(animation_(this)) {
|
| + ALLOW_THIS_IN_INITIALIZER_LIST(animation_(this)),
|
| + opacity_scale_(kTrackOpacityScale) {
|
| animation_.set_delegate(this);
|
| - animation_.SetSlideDuration(kHoverDurationMs);
|
| }
|
|
|
| GlowHoverController::~GlowHoverController() {
|
| @@ -39,9 +40,21 @@ void GlowHoverController::SetLocation(const gfx::Point& location) {
|
| view_->SchedulePaint();
|
| }
|
|
|
| -void GlowHoverController::Show() {
|
| - animation_.SetTweenType(ui::Tween::EASE_OUT);
|
| - animation_.Show();
|
| +void GlowHoverController::Show(Style style) {
|
| + switch (style) {
|
| + case SUBTLE:
|
| + opacity_scale_ = kTrackOpacityScale;
|
| + animation_.SetSlideDuration(kTrackHoverDurationMs);
|
| + animation_.SetTweenType(ui::Tween::EASE_OUT);
|
| + animation_.Show();
|
| + break;
|
| + case PRONOUNCED:
|
| + opacity_scale_ = kHighlightOpacityScale;
|
| + // Force the end state to show immediately.
|
| + animation_.Show();
|
| + animation_.End();
|
| + break;
|
| + }
|
| }
|
|
|
| void GlowHoverController::Hide() {
|
| @@ -80,7 +93,7 @@ void GlowHoverController::Draw(gfx::Canvas* canvas,
|
| center_point.iset(location_.x(), location_.y());
|
| SkColor colors[2];
|
| int hover_alpha =
|
| - static_cast<int>(255 * kOpacityScale * animation_.GetCurrentValue());
|
| + static_cast<int>(255 * opacity_scale_ * animation_.GetCurrentValue());
|
| colors[0] = SkColorSetARGB(hover_alpha, 255, 255, 255);
|
| colors[1] = SkColorSetARGB(0, 255, 255, 255);
|
| skia::RefPtr<SkShader> shader = skia::AdoptRef(
|
|
|