OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/style/platform_style.h" | 5 #include "ui/views/style/platform_style.h" |
6 | 6 |
7 #include "ui/base/resource/material_design/material_design_controller.h" | |
7 #include "ui/views/controls/button/label_button.h" | 8 #include "ui/views/controls/button/label_button.h" |
8 #include "ui/views/controls/button/label_button_border.h" | 9 #include "ui/views/controls/button/label_button_border.h" |
9 | 10 |
10 namespace views { | 11 namespace views { |
11 | 12 |
12 #if !defined(OS_MACOSX) | 13 #if defined(OS_CHROMEOS) |
13 // static | 14 // static |
14 scoped_ptr<LabelButtonBorder> PlatformStyle::CreateLabelButtonBorder( | 15 scoped_ptr<LabelButtonBorder> PlatformStyle::CreateLabelButtonBorder( |
15 Button::ButtonStyle style) { | 16 Button::ButtonStyle style) { |
17 // The material design spec for Chrome OS includes no visual effects for | |
18 // button states, so a non-asset border with insets is used. | |
19 if (ui::MaterialDesignController::IsModeMaterial() && | |
20 style == Button::STYLE_TEXTBUTTON) { | |
Peter Kasting
2015/08/07 15:36:16
Nit: Reverse this condition so you can do the simp
jonross
2015/08/07 15:57:15
Done.
| |
21 scoped_ptr<LabelButtonBorder> border(new views::LabelButtonBorder()); | |
22 border->set_insets(views::LabelButtonAssetBorder::GetDefaultInsetsForStyle( | |
23 Button::STYLE_TEXTBUTTON)); | |
24 return border.Pass(); | |
25 } | |
16 return make_scoped_ptr(new LabelButtonAssetBorder(style)); | 26 return make_scoped_ptr(new LabelButtonAssetBorder(style)); |
17 } | 27 } |
28 #elif !defined(OS_MACOSX) | |
29 // static | |
30 scoped_ptr<LabelButtonBorder> PlatformStyle::CreateLabelButtonBorder( | |
31 Button::ButtonStyle style) { | |
32 scoped_ptr<LabelButtonAssetBorder> border(new LabelButtonAssetBorder(style)); | |
33 // The material design spec does not include a visual effect for the | |
34 // STATE_HOVERED button state so we have to remove the default one added by | |
35 // LabelButtonAssetBorder. | |
36 if (ui::MaterialDesignController::IsModeMaterial()) { | |
Peter Kasting
2015/08/07 15:36:16
No {}
jonross
2015/08/07 15:57:15
Done.
| |
37 border->SetPainter(false, Button::STATE_HOVERED, nullptr); | |
38 } | |
39 return border.Pass(); | |
40 } | |
18 #endif | 41 #endif |
19 | 42 |
20 #if !defined(OS_LINUX) || defined(OS_CHROMEOS) | 43 #if !defined(OS_LINUX) || defined(OS_CHROMEOS) |
21 // static | 44 // static |
22 scoped_ptr<Border> PlatformStyle::CreateThemedLabelButtonBorder( | 45 scoped_ptr<Border> PlatformStyle::CreateThemedLabelButtonBorder( |
23 LabelButton* button) { | 46 LabelButton* button) { |
24 return button->CreateDefaultBorder(); | 47 return button->CreateDefaultBorder(); |
25 } | 48 } |
26 #endif | 49 #endif |
27 | 50 |
28 } // namespace views | 51 } // namespace views |
OLD | NEW |