diff options
author | benrg@chromium.org <benrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-28 19:59:52 +0000 |
---|---|---|
committer | benrg@chromium.org <benrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-28 19:59:52 +0000 |
commit | 63500306b4fd634b340d227964449ec4fd13bda7 (patch) | |
tree | 6a07f715302e9eb54dd4d742c5a7158fd3219bc2 /ui/gfx/native_theme_base.cc | |
parent | b8777b72fece4ad14347a57696c0a635e77baa2e (diff) | |
download | chromium_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.cc | 302 |
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 |