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

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: test 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_);
119 case kScrollbarLeftArrow: 118 case kScrollbarLeftArrow:
120 case kScrollbarRightArrow: 119 case kScrollbarRightArrow:
121 return gfx::Size(scrollbar_button_length_, scrollbar_width_); 120 return gfx::Size(); // No default size.
Evan Stade 2016/05/23 22:30:59 why not leave most stuff alone, but change scrollb
Bret 2016/05/23 22:53:15 That wasn't actually the problem. I thought this w
Bret 2016/05/23 23:44:06 Done.
122 case kScrollbarHorizontalThumb: 121 case kScrollbarHorizontalThumb:
123 // This matches Firefox on Linux. 122 // This matches Firefox on Linux.
124 return gfx::Size(2 * scrollbar_width_, scrollbar_width_); 123 return gfx::Size(2 * scrollbar_width_, scrollbar_width_);
125 case kScrollbarVerticalThumb: 124 case kScrollbarVerticalThumb:
126 // This matches Firefox on Linux. 125 // This matches Firefox on Linux.
127 return gfx::Size(scrollbar_width_, 2 * scrollbar_width_); 126 return gfx::Size(scrollbar_width_, 2 * scrollbar_width_);
128 case kScrollbarHorizontalTrack: 127 case kScrollbarHorizontalTrack:
129 return gfx::Size(0, scrollbar_width_); 128 return gfx::Size(0, scrollbar_width_);
130 case kScrollbarVerticalTrack: 129 case kScrollbarVerticalTrack:
131 return gfx::Size(scrollbar_width_, 0); 130 return gfx::Size(scrollbar_width_, 0);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 case kPushButton: 213 case kPushButton:
215 PaintButton(canvas, state, rect, extra.button); 214 PaintButton(canvas, state, rect, extra.button);
216 break; 215 break;
217 case kRadio: 216 case kRadio:
218 PaintRadio(canvas, state, rect, extra.button); 217 PaintRadio(canvas, state, rect, extra.button);
219 break; 218 break;
220 case kScrollbarDownArrow: 219 case kScrollbarDownArrow:
221 case kScrollbarUpArrow: 220 case kScrollbarUpArrow:
222 case kScrollbarLeftArrow: 221 case kScrollbarLeftArrow:
223 case kScrollbarRightArrow: 222 case kScrollbarRightArrow:
224 if (scrollbar_button_length_ > 0) 223 if (HasScrollbarButtons())
esprehn 2016/05/23 23:11:19 how did we get here if it was zero size?
Bret 2016/05/23 23:44:06 It looks like ScrollbarThemeAura just calls paint
225 PaintArrowButton(canvas, rect, part, state); 224 PaintArrowButton(canvas, rect, part, state);
226 break; 225 break;
227 case kScrollbarHorizontalThumb: 226 case kScrollbarHorizontalThumb:
228 case kScrollbarVerticalThumb: 227 case kScrollbarVerticalThumb:
229 PaintScrollbarThumb(canvas, part, state, rect); 228 PaintScrollbarThumb(canvas, part, state, rect);
230 break; 229 break;
231 case kScrollbarHorizontalTrack: 230 case kScrollbarHorizontalTrack:
232 case kScrollbarVerticalTrack: 231 case kScrollbarVerticalTrack:
233 PaintScrollbarTrack(canvas, part, state, extra.scrollbar_track, rect); 232 PaintScrollbarTrack(canvas, part, state, extra.scrollbar_track, rect);
234 break; 233 break;
(...skipping 23 matching lines...) Expand all
258 NOTIMPLEMENTED(); 257 NOTIMPLEMENTED();
259 break; 258 break;
260 default: 259 default:
261 NOTREACHED() << "Unknown theme part: " << part; 260 NOTREACHED() << "Unknown theme part: " << part;
262 break; 261 break;
263 } 262 }
264 263
265 canvas->restore(); 264 canvas->restore();
266 } 265 }
267 266
268 NativeThemeBase::NativeThemeBase() 267 NativeThemeBase::NativeThemeBase() : scrollbar_width_(kDefaultScrollbarWidth) {}
269 : scrollbar_width_(kDefaultScrollbarWidth),
270 scrollbar_button_length_(kDefaultScrollbarButtonLength) {
271 }
272 268
273 NativeThemeBase::~NativeThemeBase() { 269 NativeThemeBase::~NativeThemeBase() {
274 } 270 }
275 271
276 void NativeThemeBase::PaintArrowButton( 272 void NativeThemeBase::PaintArrowButton(
277 SkCanvas* canvas, 273 SkCanvas* canvas,
278 const gfx::Rect& rect, Part direction, State state) const { 274 const gfx::Rect& rect, Part direction, State state) const {
279 SkPaint paint; 275 SkPaint paint;
280 276
281 // Calculate button color. 277 // 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); 1004 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); 1005 SkScalar diff = Clamp(fabs(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f);
1010 1006
1011 if (hsv1[2] + hsv2[2] > 1.0) 1007 if (hsv1[2] + hsv2[2] > 1.0)
1012 diff = -diff; 1008 diff = -diff;
1013 1009
1014 return SaturateAndBrighten(hsv2, -0.2f, diff); 1010 return SaturateAndBrighten(hsv2, -0.2f, diff);
1015 } 1011 }
1016 1012
1017 } // namespace ui 1013 } // 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