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 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 break; | 204 break; |
205 case kScrollbarDownArrow: | 205 case kScrollbarDownArrow: |
206 case kScrollbarUpArrow: | 206 case kScrollbarUpArrow: |
207 case kScrollbarLeftArrow: | 207 case kScrollbarLeftArrow: |
208 case kScrollbarRightArrow: | 208 case kScrollbarRightArrow: |
209 if (scrollbar_button_length_ > 0) | 209 if (scrollbar_button_length_ > 0) |
210 PaintArrowButton(canvas, rect, part, state); | 210 PaintArrowButton(canvas, rect, part, state); |
211 break; | 211 break; |
212 case kScrollbarHorizontalThumb: | 212 case kScrollbarHorizontalThumb: |
213 case kScrollbarVerticalThumb: | 213 case kScrollbarVerticalThumb: |
214 PaintScrollbarThumb(canvas, part, state, rect, | 214 PaintScrollbarThumb(canvas, part, state, rect, extra.scrollbar_thumb); |
215 extra.scrollbar_thumb.scrollbar_theme); | |
216 break; | 215 break; |
217 case kScrollbarHorizontalTrack: | 216 case kScrollbarHorizontalTrack: |
218 case kScrollbarVerticalTrack: | 217 case kScrollbarVerticalTrack: |
219 PaintScrollbarTrack(canvas, part, state, extra.scrollbar_track, rect); | 218 PaintScrollbarTrack(canvas, part, state, extra.scrollbar_track, rect); |
220 break; | 219 break; |
221 case kScrollbarHorizontalGripper: | 220 case kScrollbarHorizontalGripper: |
222 case kScrollbarVerticalGripper: | 221 case kScrollbarVerticalGripper: |
223 // Invoked by views scrollbar code, don't care about for non-win | 222 // Invoked by views scrollbar code, don't care about for non-win |
224 // implementations, so no NOTIMPLEMENTED. | 223 // implementations, so no NOTIMPLEMENTED. |
225 break; | 224 break; |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 flags.setColor(SaturateAndBrighten(track_hsv, 0, 0)); | 426 flags.setColor(SaturateAndBrighten(track_hsv, 0, 0)); |
428 canvas->drawIRect(skrect, flags); | 427 canvas->drawIRect(skrect, flags); |
429 | 428 |
430 SkScalar thumb_hsv[3]; | 429 SkScalar thumb_hsv[3]; |
431 SkColorToHSV(thumb_inactive_color_, thumb_hsv); | 430 SkColorToHSV(thumb_inactive_color_, thumb_hsv); |
432 | 431 |
433 flags.setColor(OutlineColor(track_hsv, thumb_hsv)); | 432 flags.setColor(OutlineColor(track_hsv, thumb_hsv)); |
434 DrawBox(canvas, rect, flags); | 433 DrawBox(canvas, rect, flags); |
435 } | 434 } |
436 | 435 |
437 void NativeThemeBase::PaintScrollbarThumb(cc::PaintCanvas* canvas, | 436 void NativeThemeBase::PaintScrollbarThumb( |
438 Part part, | 437 cc::PaintCanvas* canvas, |
439 State state, | 438 Part part, |
440 const gfx::Rect& rect, | 439 State state, |
441 ScrollbarOverlayColorTheme) const { | 440 const gfx::Rect& rect, |
| 441 const NativeTheme::ScrollbarThumbExtraParams&) const { |
442 const bool hovered = state == kHovered; | 442 const bool hovered = state == kHovered; |
443 const int midx = rect.x() + rect.width() / 2; | 443 const int midx = rect.x() + rect.width() / 2; |
444 const int midy = rect.y() + rect.height() / 2; | 444 const int midy = rect.y() + rect.height() / 2; |
445 const bool vertical = part == kScrollbarVerticalThumb; | 445 const bool vertical = part == kScrollbarVerticalThumb; |
446 | 446 |
447 SkScalar thumb[3]; | 447 SkScalar thumb[3]; |
448 SkColorToHSV(hovered ? thumb_active_color_ : thumb_inactive_color_, thumb); | 448 SkColorToHSV(hovered ? thumb_active_color_ : thumb_inactive_color_, thumb); |
449 | 449 |
450 cc::PaintFlags flags; | 450 cc::PaintFlags flags; |
451 flags.setColor(SaturateAndBrighten(thumb, 0, 0.02f)); | 451 flags.setColor(SaturateAndBrighten(thumb, 0, 0.02f)); |
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1016 SkScalar min_diff = Clamp((hsv1[1] + hsv2[1]) * 1.2f, 0.28f, 0.5f); | 1016 SkScalar min_diff = Clamp((hsv1[1] + hsv2[1]) * 1.2f, 0.28f, 0.5f); |
1017 SkScalar diff = Clamp(fabs(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f); | 1017 SkScalar diff = Clamp(fabs(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f); |
1018 | 1018 |
1019 if (hsv1[2] + hsv2[2] > 1.0) | 1019 if (hsv1[2] + hsv2[2] > 1.0) |
1020 diff = -diff; | 1020 diff = -diff; |
1021 | 1021 |
1022 return SaturateAndBrighten(hsv2, -0.2f, diff); | 1022 return SaturateAndBrighten(hsv2, -0.2f, diff); |
1023 } | 1023 } |
1024 | 1024 |
1025 } // namespace ui | 1025 } // namespace ui |
OLD | NEW |