| OLD | NEW |
| (Empty) |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "ui/views/controls/button/blue_button.h" | |
| 6 | |
| 7 #include "ui/base/resource/resource_bundle.h" | |
| 8 #include "ui/gfx/sys_color_change_listener.h" | |
| 9 #include "ui/resources/grit/ui_resources.h" | |
| 10 #include "ui/views/controls/button/label_button_border.h" | |
| 11 | |
| 12 namespace views { | |
| 13 | |
| 14 // static | |
| 15 const char BlueButton::kViewClassName[] = "views/BlueButton"; | |
| 16 | |
| 17 BlueButton::BlueButton(ButtonListener* listener, const base::string16& text) | |
| 18 : LabelButton(listener, text) { | |
| 19 // Inherit STYLE_BUTTON insets, minimum size, alignment, etc. | |
| 20 SetStyle(STYLE_BUTTON); | |
| 21 UpdateThemedBorder(); | |
| 22 } | |
| 23 | |
| 24 BlueButton::~BlueButton() {} | |
| 25 | |
| 26 void BlueButton::ResetColorsFromNativeTheme() { | |
| 27 LabelButton::ResetColorsFromNativeTheme(); | |
| 28 if (!gfx::IsInvertedColorScheme()) { | |
| 29 SetTextColor(STATE_NORMAL, GetNativeTheme()-> | |
| 30 GetSystemColor(ui::NativeTheme::kColorId_BlueButtonEnabledColor)); | |
| 31 SetTextColor(STATE_HOVERED, GetNativeTheme()-> | |
| 32 GetSystemColor(ui::NativeTheme::kColorId_BlueButtonHoverColor)); | |
| 33 SetTextColor(STATE_PRESSED, GetNativeTheme()-> | |
| 34 GetSystemColor(ui::NativeTheme::kColorId_BlueButtonPressedColor)); | |
| 35 SetTextColor(STATE_DISABLED, GetNativeTheme()-> | |
| 36 GetSystemColor(ui::NativeTheme::kColorId_BlueButtonDisabledColor)); | |
| 37 | |
| 38 label()->SetShadows(gfx::ShadowValues( | |
| 39 1, | |
| 40 gfx::ShadowValue( | |
| 41 gfx::Point(0, 1), | |
| 42 0, | |
| 43 GetNativeTheme()->GetSystemColor( | |
| 44 ui::NativeTheme::kColorId_BlueButtonShadowColor)))); | |
| 45 } | |
| 46 } | |
| 47 | |
| 48 const char* BlueButton::GetClassName() const { | |
| 49 return BlueButton::kViewClassName; | |
| 50 } | |
| 51 | |
| 52 scoped_ptr<LabelButtonBorder> BlueButton::CreateDefaultBorder() const { | |
| 53 // Insets for splitting the images. | |
| 54 const gfx::Insets insets(5, 5, 5, 5); | |
| 55 scoped_ptr<LabelButtonBorder> button_border(new LabelButtonBorder(style())); | |
| 56 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | |
| 57 button_border->SetPainter(false, STATE_NORMAL, Painter::CreateImagePainter( | |
| 58 *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_NORMAL), insets)); | |
| 59 button_border->SetPainter(false, STATE_HOVERED, Painter::CreateImagePainter( | |
| 60 *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_HOVER), insets)); | |
| 61 button_border->SetPainter(false, STATE_PRESSED, Painter::CreateImagePainter( | |
| 62 *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_PRESSED), insets)); | |
| 63 button_border->SetPainter(false, STATE_DISABLED, Painter::CreateImagePainter( | |
| 64 *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_DISABLED), insets)); | |
| 65 button_border->SetPainter(true, STATE_NORMAL, Painter::CreateImagePainter( | |
| 66 *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_FOCUSED_NORMAL), insets)); | |
| 67 button_border->SetPainter(true, STATE_HOVERED, Painter::CreateImagePainter( | |
| 68 *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_FOCUSED_HOVER), insets)); | |
| 69 button_border->SetPainter(true, STATE_PRESSED, Painter::CreateImagePainter( | |
| 70 *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_FOCUSED_PRESSED), insets)); | |
| 71 button_border->SetPainter(true, STATE_DISABLED, Painter::CreateImagePainter( | |
| 72 *rb.GetImageSkiaNamed(IDR_BLUE_BUTTON_DISABLED), insets)); | |
| 73 return button_border.Pass(); | |
| 74 } | |
| 75 | |
| 76 } // namespace views | |
| OLD | NEW |