@@ -32,7 +32,7 @@ namespace {
32
32
const int kIconSize = 32 ;
33
33
const int kAttentionThrobDurationMS = 800 ;
34
34
const int kMaxAnimationSeconds = 10 ;
35
- const int kIndicatorOffsetFromBottom = 2 ;
35
+ const int kIndicatorOffsetFromBottom = 3 ;
36
36
const int kIndicatorRadiusDip = 2 ;
37
37
const SkColor kIndicatorColor = SK_ColorWHITE;
38
38
@@ -146,11 +146,23 @@ class ShelfButton::AppStatusIndicatorView
146
146
147
147
DCHECK_EQ (width (), height ());
148
148
DCHECK_EQ (kIndicatorRadiusDip , width () / 2 );
149
+ const float dsf = canvas->UndoDeviceScaleFactor ();
150
+ const int kStrokeWidthPx = 1 ;
151
+ gfx::PointF center = gfx::RectF (GetLocalBounds ()).CenterPoint ();
152
+ center.Scale (dsf);
153
+
154
+ // Fill the center.
149
155
cc::PaintFlags flags;
150
156
flags.setColor (kIndicatorColor );
151
157
flags.setFlags (cc::PaintFlags::kAntiAlias_Flag );
152
- canvas->DrawCircle (gfx::Point (width () / 2 , height () / 2 ),
153
- kIndicatorRadiusDip , flags);
158
+ canvas->DrawCircle (center, dsf * kIndicatorRadiusDip - kStrokeWidthPx ,
159
+ flags);
160
+
161
+ // Stroke the border.
162
+ flags.setColor (SkColorSetA (SK_ColorBLACK, 0x4D ));
163
+ flags.setStyle (SkPaint::kStroke_Style );
164
+ canvas->DrawCircle (
165
+ center, dsf * kIndicatorRadiusDip - kStrokeWidthPx / 2 .0f , flags);
154
166
}
155
167
156
168
// ShelfButtonAnimation::Observer
0 commit comments