| Index: ui/views/controls/button/label_button_border.cc
|
| diff --git a/ui/views/controls/button/label_button_border.cc b/ui/views/controls/button/label_button_border.cc
|
| index 1c48efe80706794b262ac6e76bce4c1488b078f5..dccc3ccbad25098041d92c8d3f8903a6b20c1120 100644
|
| --- a/ui/views/controls/button/label_button_border.cc
|
| +++ b/ui/views/controls/button/label_button_border.cc
|
| @@ -29,15 +29,15 @@ static const int kPreferredNativeThemePaddingVertical = 5;
|
| const int kHotImages[] = IMAGE_GRID(IDR_TEXTBUTTON_HOVER);
|
| const int kPushedImages[] = IMAGE_GRID(IDR_TEXTBUTTON_PRESSED);
|
|
|
| -CustomButton::ButtonState GetButtonState(ui::NativeTheme::State state) {
|
| +Button::ButtonState GetButtonState(ui::NativeTheme::State state) {
|
| switch(state) {
|
| - case ui::NativeTheme::kDisabled: return CustomButton::STATE_DISABLED;
|
| - case ui::NativeTheme::kHovered: return CustomButton::STATE_HOVERED;
|
| - case ui::NativeTheme::kNormal: return CustomButton::STATE_NORMAL;
|
| - case ui::NativeTheme::kPressed: return CustomButton::STATE_PRESSED;
|
| + case ui::NativeTheme::kDisabled: return Button::STATE_DISABLED;
|
| + case ui::NativeTheme::kHovered: return Button::STATE_HOVERED;
|
| + case ui::NativeTheme::kNormal: return Button::STATE_NORMAL;
|
| + case ui::NativeTheme::kPressed: return Button::STATE_PRESSED;
|
| case ui::NativeTheme::kMaxState: NOTREACHED() << "Unknown state: " << state;
|
| }
|
| - return CustomButton::STATE_NORMAL;
|
| + return Button::STATE_NORMAL;
|
| }
|
|
|
| // A helper function to paint the native theme or images as appropriate.
|
| @@ -48,7 +48,7 @@ void PaintHelper(LabelButtonBorder* border,
|
| ui::NativeTheme::State state,
|
| const gfx::Rect& rect,
|
| const ui::NativeTheme::ExtraParams& extra) {
|
| - if (border->native_theme()) {
|
| + if (border->style() == Button::STYLE_NATIVE_TEXTBUTTON) {
|
| theme->Paint(canvas->sk_canvas(), part, state, rect, extra);
|
| } else {
|
| Painter* painter = border->GetPainter(GetButtonState(state));
|
| @@ -59,16 +59,20 @@ void PaintHelper(LabelButtonBorder* border,
|
|
|
| } // namespace
|
|
|
| -LabelButtonBorder::LabelButtonBorder() : native_theme_(false) {
|
| - SetPainter(CustomButton::STATE_HOVERED,
|
| - Painter::CreateImageGridPainter(kHotImages));
|
| - SetPainter(CustomButton::STATE_PRESSED,
|
| - Painter::CreateImageGridPainter(kPushedImages));
|
| +LabelButtonBorder::LabelButtonBorder(Button::ButtonStyle style)
|
| + : style_(style) {
|
| + if (style == Button::STYLE_TEXTBUTTON) {
|
| + SetPainter(Button::STATE_HOVERED,
|
| + Painter::CreateImageGridPainter(kHotImages));
|
| + SetPainter(Button::STATE_PRESSED,
|
| + Painter::CreateImageGridPainter(kPushedImages));
|
| + }
|
| }
|
|
|
| LabelButtonBorder::~LabelButtonBorder() {}
|
|
|
| void LabelButtonBorder::Paint(const View& view, gfx::Canvas* canvas) {
|
| + DCHECK(view.GetClassName() == LabelButton::kViewClassName);
|
| const NativeThemeDelegate* native_theme_delegate =
|
| static_cast<const LabelButton*>(&view);
|
| ui::NativeTheme::Part part = native_theme_delegate->GetThemePart();
|
| @@ -95,28 +99,29 @@ void LabelButtonBorder::Paint(const View& view, gfx::Canvas* canvas) {
|
| }
|
|
|
| // Draw the Views focus border for the native theme style.
|
| - if (native_theme() && view.focus_border() && extra.button.is_focused)
|
| + if (style() == Button::STYLE_NATIVE_TEXTBUTTON &&
|
| + view.focus_border() && extra.button.is_focused)
|
| view.focus_border()->Paint(view, canvas);
|
| }
|
|
|
| gfx::Insets LabelButtonBorder::GetInsets() const {
|
| - if (native_theme()) {
|
| + if (style() == Button::STYLE_NATIVE_TEXTBUTTON) {
|
| return gfx::Insets(kPreferredNativeThemePaddingVertical,
|
| kPreferredNativeThemePaddingHorizontal,
|
| kPreferredNativeThemePaddingVertical,
|
| kPreferredNativeThemePaddingHorizontal);
|
| - } else {
|
| - return gfx::Insets(kPreferredPaddingVertical, kPreferredPaddingHorizontal,
|
| - kPreferredPaddingVertical, kPreferredPaddingHorizontal);
|
| }
|
| + DCHECK_EQ(style(), Button::STYLE_TEXTBUTTON);
|
| + return gfx::Insets(kPreferredPaddingVertical, kPreferredPaddingHorizontal,
|
| + kPreferredPaddingVertical, kPreferredPaddingHorizontal);
|
| }
|
|
|
| -Painter* LabelButtonBorder::GetPainter(CustomButton::ButtonState state) {
|
| +Painter* LabelButtonBorder::GetPainter(Button::ButtonState state) {
|
| return painters_[state].get();
|
| }
|
|
|
| -void LabelButtonBorder::SetPainter(CustomButton::ButtonState state,
|
| - Painter* painter) {
|
| +void LabelButtonBorder::SetPainter(Button::ButtonState state,
|
| + Painter* painter) {
|
| painters_[state].reset(painter);
|
| }
|
|
|
|
|