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

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

Issue 2655553003: Native themes: Add menu separator part (Closed)
Patch Set: Created 3 years, 11 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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 break; 177 break;
178 case kInnerSpinButton: 178 case kInnerSpinButton:
179 PaintInnerSpinButton(canvas, state, rect, extra.inner_spin); 179 PaintInnerSpinButton(canvas, state, rect, extra.inner_spin);
180 break; 180 break;
181 case kMenuList: 181 case kMenuList:
182 PaintMenuList(canvas, state, rect, extra.menu_list); 182 PaintMenuList(canvas, state, rect, extra.menu_list);
183 break; 183 break;
184 case kMenuPopupBackground: 184 case kMenuPopupBackground:
185 PaintMenuPopupBackground(canvas, rect.size(), extra.menu_background); 185 PaintMenuPopupBackground(canvas, rect.size(), extra.menu_background);
186 break; 186 break;
187 case kMenuPopupSeparator:
188 PaintMenuSeparator(canvas, state, rect, extra.menu_separator);
189 break;
187 case kMenuItemBackground: 190 case kMenuItemBackground:
188 PaintMenuItemBackground(canvas, state, rect, extra.menu_item); 191 PaintMenuItemBackground(canvas, state, rect, extra.menu_item);
189 break; 192 break;
190 case kProgressBar: 193 case kProgressBar:
191 PaintProgressBar(canvas, state, rect, extra.progress_bar); 194 PaintProgressBar(canvas, state, rect, extra.progress_bar);
192 break; 195 break;
193 case kPushButton: 196 case kPushButton:
194 PaintButton(canvas, state, rect, extra.button); 197 PaintButton(canvas, state, rect, extra.button);
195 break; 198 break;
196 case kRadio: 199 case kRadio:
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 } 770 }
768 771
769 void NativeThemeBase::PaintMenuItemBackground( 772 void NativeThemeBase::PaintMenuItemBackground(
770 SkCanvas* canvas, 773 SkCanvas* canvas,
771 State state, 774 State state,
772 const gfx::Rect& rect, 775 const gfx::Rect& rect,
773 const MenuItemExtraParams& menu_item) const { 776 const MenuItemExtraParams& menu_item) const {
774 // By default don't draw anything over the normal background. 777 // By default don't draw anything over the normal background.
775 } 778 }
776 779
780 void NativeThemeBase::PaintMenuSeparator(
781 SkCanvas* canvas,
782 State state,
783 const gfx::Rect& rect,
784 const MenuSeparatorExtraParams& menu_separator) const {
sky 2017/01/25 21:57:22 Why is there rect and menu_separator.paint_rect? A
Tom (Use chromium acct) 2017/01/25 22:25:44 rect is the region the paint context is clipped to
785 SkPaint paint;
786 paint.setColor(GetSystemColor(ui::NativeTheme::kColorId_MenuSeparatorColor));
787 canvas->drawRect(gfx::RectToSkRect(*menu_separator.paint_rect), paint);
788 }
789
777 void NativeThemeBase::PaintSliderTrack(SkCanvas* canvas, 790 void NativeThemeBase::PaintSliderTrack(SkCanvas* canvas,
778 State state, 791 State state,
779 const gfx::Rect& rect, 792 const gfx::Rect& rect,
780 const SliderExtraParams& slider) const { 793 const SliderExtraParams& slider) const {
781 const int kMidX = rect.x() + rect.width() / 2; 794 const int kMidX = rect.x() + rect.width() / 2;
782 const int kMidY = rect.y() + rect.height() / 2; 795 const int kMidY = rect.y() + rect.height() / 2;
783 796
784 SkPaint paint; 797 SkPaint paint;
785 paint.setColor(kSliderTrackBackgroundColor); 798 paint.setColor(kSliderTrackBackgroundColor);
786 799
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
1005 SkScalar min_diff = Clamp((hsv1[1] + hsv2[1]) * 1.2f, 0.28f, 0.5f); 1018 SkScalar min_diff = Clamp((hsv1[1] + hsv2[1]) * 1.2f, 0.28f, 0.5f);
1006 SkScalar diff = Clamp(fabs(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f); 1019 SkScalar diff = Clamp(fabs(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f);
1007 1020
1008 if (hsv1[2] + hsv2[2] > 1.0) 1021 if (hsv1[2] + hsv2[2] > 1.0)
1009 diff = -diff; 1022 diff = -diff;
1010 1023
1011 return SaturateAndBrighten(hsv2, -0.2f, diff); 1024 return SaturateAndBrighten(hsv2, -0.2f, diff);
1012 } 1025 }
1013 1026
1014 } // namespace ui 1027 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698