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

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

Issue 11881042: highlight intermediate tabs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Make check for Gesture vs Scroll event for flings explicit 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..06f82b838abef4536b851810e2db35404f331a2a 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,20 @@ 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;
+ animation_.Show();
sky 2013/01/22 18:05:01 Add comment why you do the Show() then End().
DaveMoore 2013/01/27 21:21:54 Done.
+ animation_.End();
+ break;
+ }
}
void GlowHoverController::Hide() {
@@ -80,7 +92,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(

Powered by Google App Engine
This is Rietveld 408576698