| Index: ash/common/shelf/shelf_button.cc
|
| diff --git a/ash/common/shelf/shelf_button.cc b/ash/common/shelf/shelf_button.cc
|
| index b39fa9c2f785d3bd2c4c23ae58b1dd20de0d3ccc..d5d32ff71833d2f7f240a64f9a353a5e7ff079d6 100644
|
| --- a/ash/common/shelf/shelf_button.cc
|
| +++ b/ash/common/shelf/shelf_button.cc
|
| @@ -32,7 +32,7 @@ namespace {
|
| const int kIconSize = 32;
|
| const int kAttentionThrobDurationMS = 800;
|
| const int kMaxAnimationSeconds = 10;
|
| -const int kIndicatorOffsetFromBottom = 2;
|
| +const int kIndicatorOffsetFromBottom = 3;
|
| const int kIndicatorRadiusDip = 2;
|
| const SkColor kIndicatorColor = SK_ColorWHITE;
|
|
|
| @@ -146,11 +146,23 @@ class ShelfButton::AppStatusIndicatorView
|
|
|
| DCHECK_EQ(width(), height());
|
| DCHECK_EQ(kIndicatorRadiusDip, width() / 2);
|
| + const float dsf = canvas->UndoDeviceScaleFactor();
|
| + const int kStrokeWidthPx = 1;
|
| + gfx::PointF center = gfx::RectF(GetLocalBounds()).CenterPoint();
|
| + center.Scale(dsf);
|
| +
|
| + // Fill the center.
|
| cc::PaintFlags flags;
|
| flags.setColor(kIndicatorColor);
|
| flags.setFlags(cc::PaintFlags::kAntiAlias_Flag);
|
| - canvas->DrawCircle(gfx::Point(width() / 2, height() / 2),
|
| - kIndicatorRadiusDip, flags);
|
| + canvas->DrawCircle(center, dsf * kIndicatorRadiusDip - kStrokeWidthPx,
|
| + flags);
|
| +
|
| + // Stroke the border.
|
| + flags.setColor(SkColorSetA(SK_ColorBLACK, 0x4D));
|
| + flags.setStyle(SkPaint::kStroke_Style);
|
| + canvas->DrawCircle(
|
| + center, dsf * kIndicatorRadiusDip - kStrokeWidthPx / 2.0f, flags);
|
| }
|
|
|
| // ShelfButtonAnimation::Observer
|
|
|