| 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/resource_bundle.h" | 7 #include "ui/base/resource/resource_bundle.h" |
| 8 #include "ui/gfx/paint_vector_icon.h" | 8 #include "ui/gfx/paint_vector_icon.h" |
| 9 #include "ui/gfx/vector_icons.h" | 9 #include "ui/gfx/vector_icons.h" |
| 10 #include "ui/resources/grit/ui_resources.h" | 10 #include "ui/resources/grit/ui_resources.h" |
| 11 #include "ui/views/controls/button/label_button.h" | 11 #include "ui/views/controls/button/label_button.h" |
| 12 #include "ui/views/controls/button/label_button_border.h" | 12 #include "ui/views/controls/button/label_button_border.h" |
| 13 #include "ui/views/controls/focusable_rounded_border_mac.h" | 13 #include "ui/views/controls/focusable_rounded_border_mac.h" |
| 14 #import "ui/views/controls/scrollbar/cocoa_scroll_bar.h" | 14 #import "ui/views/controls/scrollbar/cocoa_scroll_bar.h" |
| 15 #include "ui/views/style/mac/combobox_background_mac.h" | 15 #include "ui/views/style/mac/combobox_background_mac.h" |
| 16 #include "ui/views/style/mac/dialog_button_border_mac.h" | 16 #include "ui/views/style/mac/dialog_button_border_mac.h" |
| 17 | 17 |
| 18 namespace views { | 18 namespace views { |
| 19 | 19 |
| 20 const int PlatformStyle::kMinLabelButtonWidth = 32; |
| 21 const int PlatformStyle::kMinLabelButtonHeight = 30; |
| 22 const bool PlatformStyle::kDefaultLabelButtonHasBoldFont = false; |
| 23 |
| 20 // static | 24 // static |
| 21 gfx::ImageSkia PlatformStyle::CreateComboboxArrow(bool is_enabled, | 25 gfx::ImageSkia PlatformStyle::CreateComboboxArrow(bool is_enabled, |
| 22 Combobox::Style style) { | 26 Combobox::Style style) { |
| 23 // TODO(ellyjones): IDR_MENU_DROPARROW is a cross-platform image that doesn't | 27 // TODO(ellyjones): IDR_MENU_DROPARROW is a cross-platform image that doesn't |
| 24 // look right on Mac. See https://crbug.com/384071. | 28 // look right on Mac. See https://crbug.com/384071. |
| 25 if (style == Combobox::STYLE_ACTION) { | 29 if (style == Combobox::STYLE_ACTION) { |
| 26 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 30 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| 27 return *rb.GetImageSkiaNamed(IDR_MENU_DROPARROW); | 31 return *rb.GetImageSkiaNamed(IDR_MENU_DROPARROW); |
| 28 } | 32 } |
| 29 const int kComboboxArrowWidth = 13; | 33 const int kComboboxArrowWidth = 13; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 49 return make_scoped_ptr(new DialogButtonBorderMac()); | 53 return make_scoped_ptr(new DialogButtonBorderMac()); |
| 50 | 54 |
| 51 return make_scoped_ptr(new LabelButtonAssetBorder(style)); | 55 return make_scoped_ptr(new LabelButtonAssetBorder(style)); |
| 52 } | 56 } |
| 53 | 57 |
| 54 // static | 58 // static |
| 55 scoped_ptr<ScrollBar> PlatformStyle::CreateScrollBar(bool is_horizontal) { | 59 scoped_ptr<ScrollBar> PlatformStyle::CreateScrollBar(bool is_horizontal) { |
| 56 return make_scoped_ptr(new CocoaScrollBar(is_horizontal)); | 60 return make_scoped_ptr(new CocoaScrollBar(is_horizontal)); |
| 57 } | 61 } |
| 58 | 62 |
| 63 // static |
| 64 SkColor PlatformStyle::TextColorForButton( |
| 65 const ButtonColorByState& color_by_state, |
| 66 const LabelButton& button) { |
| 67 Button::ButtonState state = button.state(); |
| 68 if (button.style() == Button::STYLE_BUTTON && |
| 69 DialogButtonBorderMac::ShouldRenderDefault(button)) { |
| 70 // For convenience, we currently assume Mac wants the color corresponding to |
| 71 // the pressed state for default buttons. |
| 72 state = Button::STATE_PRESSED; |
| 73 } |
| 74 return color_by_state[state]; |
| 75 } |
| 76 |
| 77 // static |
| 78 void PlatformStyle::ApplyLabelButtonTextStyle( |
| 79 views::Label* label, |
| 80 ButtonColorByState* color_by_state) { |
| 81 const ui::NativeTheme* theme = label->GetNativeTheme(); |
| 82 ButtonColorByState& colors = *color_by_state; |
| 83 colors[Button::STATE_PRESSED] = |
| 84 theme->GetSystemColor(ui::NativeTheme::kColorId_ButtonHighlightColor); |
| 85 } |
| 86 |
| 59 } // namespace views | 87 } // namespace views |
| OLD | NEW |