OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/views/controls/button/toggle_button.h" | 5 #include "ui/views/controls/button/toggle_button.h" |
6 | 6 |
7 #include "third_party/skia/include/core/SkDrawLooper.h" | 7 #include "third_party/skia/include/core/SkDrawLooper.h" |
8 #include "third_party/skia/include/core/SkPaint.h" | 8 #include "third_party/skia/include/core/SkPaint.h" |
9 #include "ui/gfx/canvas.h" | 9 #include "ui/gfx/canvas.h" |
| 10 #include "ui/gfx/color_palette.h" |
10 #include "ui/gfx/color_utils.h" | 11 #include "ui/gfx/color_utils.h" |
11 #include "ui/views/animation/ink_drop_ripple.h" | 12 #include "ui/views/animation/ink_drop_ripple.h" |
12 #include "ui/views/border.h" | 13 #include "ui/views/border.h" |
13 | 14 |
14 namespace views { | 15 namespace views { |
15 | 16 |
16 namespace { | 17 namespace { |
17 | 18 |
18 // Constants are measured in dip. | 19 // Constants are measured in dip. |
19 const int kTrackHeight = 12; | 20 const int kTrackHeight = 12; |
20 const int kTrackWidth = 28; | 21 const int kTrackWidth = 28; |
21 // Margins from edge of track to edge of view. | 22 // Margins from edge of track to edge of view. |
22 const int kTrackVerticalMargin = 5; | 23 const int kTrackVerticalMargin = 5; |
23 const int kTrackHorizontalMargin = 6; | 24 const int kTrackHorizontalMargin = 6; |
24 // Margin from edge of thumb to closest edge of view. Note that the thumb | 25 // Margin from edge of thumb to closest edge of view. Note that the thumb |
25 // margins must be sufficiently large to allow space for the shadow. | 26 // margins must be sufficiently large to allow space for the shadow. |
26 const int kThumbHorizontalMargin = 4; | 27 const int kThumbHorizontalMargin = 4; |
27 // Margin from top/bottom edge of thumb to top/bottom edge of view. | 28 // Margin from top/bottom edge of thumb to top/bottom edge of view. |
28 const int kThumbVerticalMargin = 3; | 29 const int kThumbVerticalMargin = 3; |
29 | 30 |
30 // TODO(estade): get this color from the theme? | 31 // TODO(estade): get the base color (black) from the theme? |
31 const SkColor kTrackOffColor = SkColorSetA(SK_ColorBLACK, 0x61); | 32 const SkColor kTrackOffColor = |
| 33 SkColorSetA(SK_ColorBLACK, gfx::kDisabledControlAlpha); |
32 | 34 |
33 } // namespace | 35 } // namespace |
34 | 36 |
35 ToggleButton::ToggleButton(ButtonListener* listener) | 37 ToggleButton::ToggleButton(ButtonListener* listener) |
36 : CustomButton(listener), is_on_(false), slide_animation_(this) { | 38 : CustomButton(listener), is_on_(false), slide_animation_(this) { |
37 slide_animation_.SetSlideDuration(80 /* ms */); | 39 slide_animation_.SetSlideDuration(80 /* ms */); |
38 slide_animation_.SetTweenType(gfx::Tween::LINEAR); | 40 slide_animation_.SetTweenType(gfx::Tween::LINEAR); |
39 SetBorder(Border::CreateEmptyBorder( | 41 SetBorder(Border::CreateEmptyBorder( |
40 gfx::Insets(kTrackVerticalMargin, kTrackHorizontalMargin))); | 42 gfx::Insets(kTrackVerticalMargin, kTrackHorizontalMargin))); |
41 SetInkDropMode(InkDropMode::ON); | 43 SetInkDropMode(InkDropMode::ON); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 thumb_bounds.set_x(thumb_bounds.x() + | 138 thumb_bounds.set_x(thumb_bounds.x() + |
137 slide_animation_.GetCurrentValue() * | 139 slide_animation_.GetCurrentValue() * |
138 (thumb_bounds.width() - thumb_bounds.height())); | 140 (thumb_bounds.width() - thumb_bounds.height())); |
139 // The thumb is a circle, so the width should match the height. | 141 // The thumb is a circle, so the width should match the height. |
140 thumb_bounds.set_width(thumb_bounds.height()); | 142 thumb_bounds.set_width(thumb_bounds.height()); |
141 thumb_bounds.set_x(GetMirroredXForRect(thumb_bounds)); | 143 thumb_bounds.set_x(GetMirroredXForRect(thumb_bounds)); |
142 return thumb_bounds; | 144 return thumb_bounds; |
143 } | 145 } |
144 | 146 |
145 } // namespace views | 147 } // namespace views |
OLD | NEW |