summaryrefslogtreecommitdiffstats
path: root/ui/gfx/native_theme_base.cc
diff options
context:
space:
mode:
authorbenrg@chromium.org <benrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-28 19:59:52 +0000
committerbenrg@chromium.org <benrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-28 19:59:52 +0000
commit63500306b4fd634b340d227964449ec4fd13bda7 (patch)
tree6a07f715302e9eb54dd4d742c5a7158fd3219bc2 /ui/gfx/native_theme_base.cc
parentb8777b72fece4ad14347a57696c0a635e77baa2e (diff)
downloadchromium_src-63500306b4fd634b340d227964449ec4fd13bda7.zip
chromium_src-63500306b4fd634b340d227964449ec4fd13bda7.tar.gz
chromium_src-63500306b4fd634b340d227964449ec4fd13bda7.tar.bz2
Reorder methods in native_theme_{base,chromeos,win}.cc to match .h order.
Also moved some static constants and functions into the anonymous namespaces, and marked a couple of static locals as const (because they are, and non-const static locals make me nervous). NativeThemeWin is kind of a mess. I kept the public overload of PaintTextField next to the private overload because I think it probably should be private. The file length decreased by one line because I removed a blank line. BUG=none TEST=none Review URL: http://codereview.chromium.org/8679010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111754 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/native_theme_base.cc')
-rw-r--r--ui/gfx/native_theme_base.cc302
1 files changed, 151 insertions, 151 deletions
diff --git a/ui/gfx/native_theme_base.cc b/ui/gfx/native_theme_base.cc
index 04e2b844..2c344b0 100644
--- a/ui/gfx/native_theme_base.cc
+++ b/ui/gfx/native_theme_base.cc
@@ -20,30 +20,23 @@ namespace {
const SkColor kDefaultDialogBackgroundColor = SkColorSetRGB(200, 200, 200);
const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128);
-} // namespace
-
-namespace gfx {
-
-unsigned int NativeThemeBase::button_length_ = 14;
-unsigned int NativeThemeBase::scrollbar_width_ = 15;
-
// These are the default dimensions of radio buttons and checkboxes.
-static const int kCheckboxAndRadioWidth = 13;
-static const int kCheckboxAndRadioHeight = 13;
+const int kCheckboxAndRadioWidth = 13;
+const int kCheckboxAndRadioHeight = 13;
// These sizes match the sizes in Chromium Win.
-static const int kSliderThumbWidth = 11;
-static const int kSliderThumbHeight = 21;
+const int kSliderThumbWidth = 11;
+const int kSliderThumbHeight = 21;
-static const SkColor kSliderTrackBackgroundColor =
+const SkColor kSliderTrackBackgroundColor =
SkColorSetRGB(0xe3, 0xdd, 0xd8);
-static const SkColor kSliderThumbLightGrey = SkColorSetRGB(0xf4, 0xf2, 0xef);
-static const SkColor kSliderThumbDarkGrey = SkColorSetRGB(0xea, 0xe5, 0xe0);
-static const SkColor kSliderThumbBorderDarkGrey =
+const SkColor kSliderThumbLightGrey = SkColorSetRGB(0xf4, 0xf2, 0xef);
+const SkColor kSliderThumbDarkGrey = SkColorSetRGB(0xea, 0xe5, 0xe0);
+const SkColor kSliderThumbBorderDarkGrey =
SkColorSetRGB(0x9d, 0x96, 0x8e);
// Get lightness adjusted color.
-static SkColor BrightenColor(const color_utils::HSL& hsl, SkAlpha alpha,
+SkColor BrightenColor(const color_utils::HSL& hsl, SkAlpha alpha,
double lightness_amount) {
color_utils::HSL adjusted = hsl;
adjusted.l += lightness_amount;
@@ -55,11 +48,12 @@ static SkColor BrightenColor(const color_utils::HSL& hsl, SkAlpha alpha,
return color_utils::HSLToSkColor(adjusted, alpha);
}
-NativeThemeBase::NativeThemeBase() {
-}
+} // namespace
-NativeThemeBase::~NativeThemeBase() {
-}
+namespace gfx {
+
+unsigned int NativeThemeBase::button_length_ = 14;
+unsigned int NativeThemeBase::scrollbar_width_ = 15;
gfx::Size NativeThemeBase::GetPartSize(Part part,
State state,
@@ -131,6 +125,106 @@ gfx::Size NativeThemeBase::GetPartSize(Part part,
return gfx::Size();
}
+void NativeThemeBase::Paint(SkCanvas* canvas,
+ Part part,
+ State state,
+ const gfx::Rect& rect,
+ const ExtraParams& extra) const {
+ switch (part) {
+ // Please keep these in the order of NativeTheme::Part.
+ case kCheckbox:
+ PaintCheckbox(canvas, state, rect, extra.button);
+ break;
+ case kInnerSpinButton:
+ PaintInnerSpinButton(canvas, state, rect, extra.inner_spin);
+ break;
+ case kMenuList:
+ PaintMenuList(canvas, state, rect, extra.menu_list);
+ break;
+ case kMenuCheck:
+ case kMenuCheckBackground:
+ case kMenuPopupArrow:
+ NOTIMPLEMENTED();
+ break;
+ case kMenuPopupBackground:
+ PaintMenuPopupBackground(canvas, state, rect, extra.menu_list);
+ break;
+ case kMenuPopupGutter:
+ case kMenuPopupSeparator:
+ NOTIMPLEMENTED();
+ break;
+ case kMenuItemBackground:
+ PaintMenuItemBackground(canvas, state, rect, extra.menu_list);
+ break;
+ case kProgressBar:
+ PaintProgressBar(canvas, state, rect, extra.progress_bar);
+ break;
+ case kPushButton:
+ PaintButton(canvas, state, rect, extra.button);
+ break;
+ case kRadio:
+ PaintRadio(canvas, state, rect, extra.button);
+ break;
+ case kScrollbarDownArrow:
+ case kScrollbarUpArrow:
+ case kScrollbarLeftArrow:
+ case kScrollbarRightArrow:
+ PaintArrowButton(canvas, rect, part, state);
+ break;
+ case kScrollbarHorizontalThumb:
+ case kScrollbarVerticalThumb:
+ PaintScrollbarThumb(canvas, part, state, rect);
+ break;
+ case kScrollbarHorizontalTrack:
+ case kScrollbarVerticalTrack:
+ PaintScrollbarTrack(canvas, part, state, extra.scrollbar_track, rect);
+ break;
+ case kScrollbarHorizontalGripper:
+ case kScrollbarVerticalGripper:
+ NOTIMPLEMENTED();
+ break;
+ case kSliderTrack:
+ PaintSliderTrack(canvas, state, rect, extra.slider);
+ break;
+ case kSliderThumb:
+ PaintSliderThumb(canvas, state, rect, extra.slider);
+ break;
+ case kTabPanelBackground:
+ NOTIMPLEMENTED();
+ break;
+ case kTextField:
+ PaintTextField(canvas, state, rect, extra.text_field);
+ break;
+ case kTrackbarThumb:
+ case kTrackbarTrack:
+ case kWindowResizeGripper:
+ NOTIMPLEMENTED();
+ break;
+ default:
+ NOTREACHED() << "Unknown theme part: " << part;
+ break;
+ }
+}
+
+SkColor NativeThemeBase::GetSystemColor(ColorId color_id) const {
+ // This implementation returns hardcoded colors. It's used by NativeThemeAura
+ // and NativeThemeChromeos and overridden by NativeThemeGtk.
+ switch (color_id) {
+ case kColorId_DialogBackground:
+ return kDefaultDialogBackgroundColor;
+ default:
+ NOTREACHED() << "Invalid color_id: " << color_id;
+ break;
+ }
+ return kInvalidColorIdColor;
+}
+
+NativeThemeBase::NativeThemeBase() {
+}
+
+NativeThemeBase::~NativeThemeBase() {
+}
+
void NativeThemeBase::PaintArrowButton(
SkCanvas* canvas,
const gfx::Rect& rect, Part direction, State state) const {
@@ -257,100 +351,6 @@ void NativeThemeBase::PaintArrowButton(
canvas->drawPath(path, paint);
}
-void NativeThemeBase::Paint(SkCanvas* canvas,
- Part part,
- State state,
- const gfx::Rect& rect,
- const ExtraParams& extra) const {
- switch (part) {
- // Please keep these in the order of NativeTheme::Part.
- case kCheckbox:
- PaintCheckbox(canvas, state, rect, extra.button);
- break;
- case kInnerSpinButton:
- PaintInnerSpinButton(canvas, state, rect, extra.inner_spin);
- break;
- case kMenuList:
- PaintMenuList(canvas, state, rect, extra.menu_list);
- break;
- case kMenuCheck:
- case kMenuCheckBackground:
- case kMenuPopupArrow:
- NOTIMPLEMENTED();
- break;
- case kMenuPopupBackground:
- PaintMenuPopupBackground(canvas, state, rect, extra.menu_list);
- break;
- case kMenuPopupGutter:
- case kMenuPopupSeparator:
- NOTIMPLEMENTED();
- break;
- case kMenuItemBackground:
- PaintMenuItemBackground(canvas, state, rect, extra.menu_list);
- break;
- case kProgressBar:
- PaintProgressBar(canvas, state, rect, extra.progress_bar);
- break;
- case kPushButton:
- PaintButton(canvas, state, rect, extra.button);
- break;
- case kRadio:
- PaintRadio(canvas, state, rect, extra.button);
- break;
- case kScrollbarDownArrow:
- case kScrollbarUpArrow:
- case kScrollbarLeftArrow:
- case kScrollbarRightArrow:
- PaintArrowButton(canvas, rect, part, state);
- break;
- case kScrollbarHorizontalThumb:
- case kScrollbarVerticalThumb:
- PaintScrollbarThumb(canvas, part, state, rect);
- break;
- case kScrollbarHorizontalTrack:
- case kScrollbarVerticalTrack:
- PaintScrollbarTrack(canvas, part, state, extra.scrollbar_track, rect);
- break;
- case kScrollbarHorizontalGripper:
- case kScrollbarVerticalGripper:
- NOTIMPLEMENTED();
- break;
- case kSliderTrack:
- PaintSliderTrack(canvas, state, rect, extra.slider);
- break;
- case kSliderThumb:
- PaintSliderThumb(canvas, state, rect, extra.slider);
- break;
- case kTabPanelBackground:
- NOTIMPLEMENTED();
- break;
- case kTextField:
- PaintTextField(canvas, state, rect, extra.text_field);
- break;
- case kTrackbarThumb:
- case kTrackbarTrack:
- case kWindowResizeGripper:
- NOTIMPLEMENTED();
- break;
- default:
- NOTREACHED() << "Unknown theme part: " << part;
- break;
- }
-}
-
-SkColor NativeThemeBase::GetSystemColor(ColorId color_id) const {
- // This implementation returns hardcoded colors. It's used by NativeThemeAura
- // and NativeThemeChromeos and overridden by NativeThemeGtk.
- switch (color_id) {
- case kColorId_DialogBackground:
- return kDefaultDialogBackgroundColor;
- default:
- NOTREACHED() << "Invalid color_id: " << color_id;
- break;
- }
- return kInvalidColorIdColor;
-}
-
void NativeThemeBase::PaintScrollbarTrack(SkCanvas* canvas,
Part part,
State state,
@@ -846,37 +846,6 @@ bool NativeThemeBase::IntersectsClipRectInt(
SkIntToScalar(y + h));
}
-void NativeThemeBase::DrawVertLine(SkCanvas* canvas,
- int x,
- int y1,
- int y2,
- const SkPaint& paint) const {
- SkIRect skrect;
- skrect.set(x, y1, x + 1, y2 + 1);
- canvas->drawIRect(skrect, paint);
-}
-
-void NativeThemeBase::DrawHorizLine(SkCanvas* canvas,
- int x1,
- int x2,
- int y,
- const SkPaint& paint) const {
- SkIRect skrect;
- skrect.set(x1, y, x2 + 1, y + 1);
- canvas->drawIRect(skrect, paint);
-}
-
-void NativeThemeBase::DrawBox(SkCanvas* canvas,
- const gfx::Rect& rect,
- const SkPaint& paint) const {
- const int right = rect.x() + rect.width() - 1;
- const int bottom = rect.y() + rect.height() - 1;
- DrawHorizLine(canvas, rect.x(), right, rect.y(), paint);
- DrawVertLine(canvas, right, rect.y(), bottom, paint);
- DrawHorizLine(canvas, rect.x(), right, bottom, paint);
- DrawVertLine(canvas, rect.x(), rect.y(), bottom, paint);
-}
-
void NativeThemeBase::DrawBitmapInt(
SkCanvas* canvas, const SkBitmap& bitmap,
int src_x, int src_y, int src_w, int src_h,
@@ -955,12 +924,6 @@ void NativeThemeBase::DrawTiledImage(SkCanvas* canvas,
canvas->restore();
}
-SkScalar NativeThemeBase::Clamp(SkScalar value,
- SkScalar min,
- SkScalar max) const {
- return std::min(std::max(value, min), max);
-}
-
SkColor NativeThemeBase::SaturateAndBrighten(SkScalar* hsv,
SkScalar saturate_amount,
SkScalar brighten_amount) const {
@@ -971,6 +934,43 @@ SkColor NativeThemeBase::SaturateAndBrighten(SkScalar* hsv,
return SkHSVToColor(color);
}
+void NativeThemeBase::DrawVertLine(SkCanvas* canvas,
+ int x,
+ int y1,
+ int y2,
+ const SkPaint& paint) const {
+ SkIRect skrect;
+ skrect.set(x, y1, x + 1, y2 + 1);
+ canvas->drawIRect(skrect, paint);
+}
+
+void NativeThemeBase::DrawHorizLine(SkCanvas* canvas,
+ int x1,
+ int x2,
+ int y,
+ const SkPaint& paint) const {
+ SkIRect skrect;
+ skrect.set(x1, y, x2 + 1, y + 1);
+ canvas->drawIRect(skrect, paint);
+}
+
+void NativeThemeBase::DrawBox(SkCanvas* canvas,
+ const gfx::Rect& rect,
+ const SkPaint& paint) const {
+ const int right = rect.x() + rect.width() - 1;
+ const int bottom = rect.y() + rect.height() - 1;
+ DrawHorizLine(canvas, rect.x(), right, rect.y(), paint);
+ DrawVertLine(canvas, right, rect.y(), bottom, paint);
+ DrawHorizLine(canvas, rect.x(), right, bottom, paint);
+ DrawVertLine(canvas, rect.x(), rect.y(), bottom, paint);
+}
+
+SkScalar NativeThemeBase::Clamp(SkScalar value,
+ SkScalar min,
+ SkScalar max) const {
+ return std::min(std::max(value, min), max);
+}
+
SkColor NativeThemeBase::OutlineColor(SkScalar* hsv1, SkScalar* hsv2) const {
// GTK Theme engines have way too much control over the layout of
// the scrollbar. We might be able to more closely approximate its