Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Unified Diff: ui/views/controls/glow_hover_controller.cc

Issue 12096014: Highlight tabs while scrubbing Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed review issues Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(
« chrome/browser/ui/views/ash/tab_scrubber.cc ('K') | « ui/views/controls/glow_hover_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698