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

Side by Side Diff: ui/native_theme/native_theme_base.cc

Issue 2006643004: Fix scrollbar buttons on ChromeOS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments Created 4 years, 7 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 unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW
« ui/native_theme/native_theme_aura.cc ('K') | « ui/native_theme/native_theme_base.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698