| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/native_theme/native_theme_base.h" | 5 #include "ui/native_theme/native_theme_base.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <memory> | 8 #include <memory> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 case kMenuPopupBackground: | 108 case kMenuPopupBackground: |
| 109 return gfx::Size(); // No default size. | 109 return gfx::Size(); // No default size. |
| 110 case kMenuItemBackground: | 110 case kMenuItemBackground: |
| 111 case kProgressBar: | 111 case kProgressBar: |
| 112 case kPushButton: | 112 case kPushButton: |
| 113 return gfx::Size(); // No default size. | 113 return gfx::Size(); // No default size. |
| 114 case kRadio: | 114 case kRadio: |
| 115 return gfx::Size(kCheckboxAndRadioWidth, kCheckboxAndRadioHeight); | 115 return gfx::Size(kCheckboxAndRadioWidth, kCheckboxAndRadioHeight); |
| 116 case kScrollbarDownArrow: | 116 case kScrollbarDownArrow: |
| 117 case kScrollbarUpArrow: | 117 case kScrollbarUpArrow: |
| 118 return gfx::Size(scrollbar_width_, scrollbar_button_length_); | 118 if (HasScrollbarButtons()) |
| 119 return gfx::Size(scrollbar_width_, kDefaultScrollbarButtonLength); |
| 120 return gfx::Size(0, 0); |
| 119 case kScrollbarLeftArrow: | 121 case kScrollbarLeftArrow: |
| 120 case kScrollbarRightArrow: | 122 case kScrollbarRightArrow: |
| 121 return gfx::Size(scrollbar_button_length_, scrollbar_width_); | 123 if (HasScrollbarButtons()) |
| 124 return gfx::Size(kDefaultScrollbarButtonLength, scrollbar_width_); |
| 125 return gfx::Size(0, 0); |
| 122 case kScrollbarHorizontalThumb: | 126 case kScrollbarHorizontalThumb: |
| 123 // This matches Firefox on Linux. | 127 // This matches Firefox on Linux. |
| 124 return gfx::Size(2 * scrollbar_width_, scrollbar_width_); | 128 return gfx::Size(2 * scrollbar_width_, scrollbar_width_); |
| 125 case kScrollbarVerticalThumb: | 129 case kScrollbarVerticalThumb: |
| 126 // This matches Firefox on Linux. | 130 // This matches Firefox on Linux. |
| 127 return gfx::Size(scrollbar_width_, 2 * scrollbar_width_); | 131 return gfx::Size(scrollbar_width_, 2 * scrollbar_width_); |
| 128 case kScrollbarHorizontalTrack: | 132 case kScrollbarHorizontalTrack: |
| 129 return gfx::Size(0, scrollbar_width_); | 133 return gfx::Size(0, scrollbar_width_); |
| 130 case kScrollbarVerticalTrack: | 134 case kScrollbarVerticalTrack: |
| 131 return gfx::Size(scrollbar_width_, 0); | 135 return gfx::Size(scrollbar_width_, 0); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 case kPushButton: | 218 case kPushButton: |
| 215 PaintButton(canvas, state, rect, extra.button); | 219 PaintButton(canvas, state, rect, extra.button); |
| 216 break; | 220 break; |
| 217 case kRadio: | 221 case kRadio: |
| 218 PaintRadio(canvas, state, rect, extra.button); | 222 PaintRadio(canvas, state, rect, extra.button); |
| 219 break; | 223 break; |
| 220 case kScrollbarDownArrow: | 224 case kScrollbarDownArrow: |
| 221 case kScrollbarUpArrow: | 225 case kScrollbarUpArrow: |
| 222 case kScrollbarLeftArrow: | 226 case kScrollbarLeftArrow: |
| 223 case kScrollbarRightArrow: | 227 case kScrollbarRightArrow: |
| 224 if (scrollbar_button_length_ > 0) | 228 if (HasScrollbarButtons()) |
| 225 PaintArrowButton(canvas, rect, part, state); | 229 PaintArrowButton(canvas, rect, part, state); |
| 226 break; | 230 break; |
| 227 case kScrollbarHorizontalThumb: | 231 case kScrollbarHorizontalThumb: |
| 228 case kScrollbarVerticalThumb: | 232 case kScrollbarVerticalThumb: |
| 229 PaintScrollbarThumb(canvas, part, state, rect); | 233 PaintScrollbarThumb(canvas, part, state, rect); |
| 230 break; | 234 break; |
| 231 case kScrollbarHorizontalTrack: | 235 case kScrollbarHorizontalTrack: |
| 232 case kScrollbarVerticalTrack: | 236 case kScrollbarVerticalTrack: |
| 233 PaintScrollbarTrack(canvas, part, state, extra.scrollbar_track, rect); | 237 PaintScrollbarTrack(canvas, part, state, extra.scrollbar_track, rect); |
| 234 break; | 238 break; |
| (...skipping 23 matching lines...) Expand all Loading... |
| 258 NOTIMPLEMENTED(); | 262 NOTIMPLEMENTED(); |
| 259 break; | 263 break; |
| 260 default: | 264 default: |
| 261 NOTREACHED() << "Unknown theme part: " << part; | 265 NOTREACHED() << "Unknown theme part: " << part; |
| 262 break; | 266 break; |
| 263 } | 267 } |
| 264 | 268 |
| 265 canvas->restore(); | 269 canvas->restore(); |
| 266 } | 270 } |
| 267 | 271 |
| 268 NativeThemeBase::NativeThemeBase() | 272 NativeThemeBase::NativeThemeBase() : scrollbar_width_(kDefaultScrollbarWidth) {} |
| 269 : scrollbar_width_(kDefaultScrollbarWidth), | |
| 270 scrollbar_button_length_(kDefaultScrollbarButtonLength) { | |
| 271 } | |
| 272 | 273 |
| 273 NativeThemeBase::~NativeThemeBase() { | 274 NativeThemeBase::~NativeThemeBase() { |
| 274 } | 275 } |
| 275 | 276 |
| 276 void NativeThemeBase::PaintArrowButton( | 277 void NativeThemeBase::PaintArrowButton( |
| 277 SkCanvas* canvas, | 278 SkCanvas* canvas, |
| 278 const gfx::Rect& rect, Part direction, State state) const { | 279 const gfx::Rect& rect, Part direction, State state) const { |
| 279 SkPaint paint; | 280 SkPaint paint; |
| 280 | 281 |
| 281 // Calculate button color. | 282 // Calculate button color. |
| (...skipping 726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1008 SkScalar min_diff = Clamp((hsv1[1] + hsv2[1]) * 1.2f, 0.28f, 0.5f); | 1009 SkScalar min_diff = Clamp((hsv1[1] + hsv2[1]) * 1.2f, 0.28f, 0.5f); |
| 1009 SkScalar diff = Clamp(fabs(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f); | 1010 SkScalar diff = Clamp(fabs(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f); |
| 1010 | 1011 |
| 1011 if (hsv1[2] + hsv2[2] > 1.0) | 1012 if (hsv1[2] + hsv2[2] > 1.0) |
| 1012 diff = -diff; | 1013 diff = -diff; |
| 1013 | 1014 |
| 1014 return SaturateAndBrighten(hsv2, -0.2f, diff); | 1015 return SaturateAndBrighten(hsv2, -0.2f, diff); |
| 1015 } | 1016 } |
| 1016 | 1017 |
| 1017 } // namespace ui | 1018 } // namespace ui |
| OLD | NEW |