Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(758)

Unified Diff: ui/views/controls/button/label_button_border.cc

Issue 12330002: Add views::Button style enum for LabelButton [native] styling, etc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync and merge. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/controls/button/label_button_border.h ('k') | ui/views/controls/button/label_button_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
« no previous file with comments | « ui/views/controls/button/label_button_border.h ('k') | ui/views/controls/button/label_button_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698