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

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

Issue 2076893002: Theme code cleanup. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
« no previous file with comments | « chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc ('k') | ui/native_theme/native_theme.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/common_theme.h" 5 #include "ui/native_theme/common_theme.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "third_party/skia/include/core/SkCanvas.h" 9 #include "third_party/skia/include/core/SkCanvas.h"
10 #include "ui/base/material_design/material_design_controller.h" 10 #include "ui/base/material_design/material_design_controller.h"
11 #include "ui/base/resource/resource_bundle.h" 11 #include "ui/base/resource/resource_bundle.h"
12 #include "ui/gfx/canvas.h" 12 #include "ui/gfx/canvas.h"
13 #include "ui/gfx/color_palette.h" 13 #include "ui/gfx/color_palette.h"
14 #include "ui/gfx/color_utils.h" 14 #include "ui/gfx/color_utils.h"
15 #include "ui/gfx/geometry/rect.h" 15 #include "ui/gfx/geometry/rect.h"
16 #include "ui/gfx/image/image_skia.h" 16 #include "ui/gfx/image/image_skia.h"
17 #include "ui/gfx/skia_util.h" 17 #include "ui/gfx/skia_util.h"
18 #include "ui/resources/grit/ui_resources.h" 18 #include "ui/resources/grit/ui_resources.h"
19 19
20 namespace ui { 20 namespace ui {
21 21
22 SkColor GetAuraColor(NativeTheme::ColorId color_id, 22 SkColor GetAuraColor(NativeTheme::ColorId color_id,
23 const NativeTheme* base_theme) { 23 const NativeTheme* base_theme) {
24 // Shared colors.
25 static const SkColor kTextfieldDefaultBackground = SK_ColorWHITE;
26 static const SkColor kTextfieldSelectionBackgroundFocused =
27 SkColorSetARGB(0x54, 0x60, 0xA8, 0xEB);
28
29 // MD colors. 24 // MD colors.
30 if (ui::MaterialDesignController::IsModeMaterial()) { 25 if (ui::MaterialDesignController::IsModeMaterial()) {
31 // Dialogs: 26 // Dialogs:
32 static const SkColor kDialogBackgroundColorMd = SK_ColorWHITE; 27 static const SkColor kDialogBackgroundColorMd = SK_ColorWHITE;
33 // MenuItem: 28 // MenuItem:
34 static const SkColor kMenuHighlightBackgroundColorMd = 29 static const SkColor kMenuHighlightBackgroundColorMd =
35 SkColorSetARGB(0x14, 0x00, 0x00, 0x00); 30 SkColorSetARGB(0x14, 0x00, 0x00, 0x00);
36 static const SkColor kSelectedMenuItemForegroundColorMd = SK_ColorBLACK; 31 static const SkColor kSelectedMenuItemForegroundColorMd = SK_ColorBLACK;
37 // Link: 32 // Link:
38 static const SkColor kLinkDisabledColorMd = SK_ColorBLACK;
39 static const SkColor kLinkEnabledColorMd = gfx::kGoogleBlue700; 33 static const SkColor kLinkEnabledColorMd = gfx::kGoogleBlue700;
40 // Results tables: 34 // Results tables:
41 static const SkColor kResultsTableTextMd = SK_ColorBLACK; 35 static const SkColor kResultsTableTextMd = SK_ColorBLACK;
42 static const SkColor kResultsTableDimmedTextMd = 36 static const SkColor kResultsTableDimmedTextMd =
43 SkColorSetRGB(0x64, 0x64, 0x64); 37 SkColorSetRGB(0x64, 0x64, 0x64);
44 static const SkColor kPositiveTextColorMd = SkColorSetRGB(0x0b, 0x80, 0x43);
45 static const SkColor kNegativeTextColorMd = SkColorSetRGB(0xc5, 0x39, 0x29);
46 38
47 switch (color_id) { 39 switch (color_id) {
48 // Dialogs 40 // Dialogs
49 case NativeTheme::kColorId_DialogBackground: 41 case NativeTheme::kColorId_DialogBackground:
50 case NativeTheme::kColorId_BubbleBackground: 42 case NativeTheme::kColorId_BubbleBackground:
51 return kDialogBackgroundColorMd; 43 return kDialogBackgroundColorMd;
52 44
53 // MenuItem 45 // MenuItem
54 case NativeTheme::kColorId_FocusedMenuItemBackgroundColor: 46 case NativeTheme::kColorId_FocusedMenuItemBackgroundColor:
55 return kMenuHighlightBackgroundColorMd; 47 return kMenuHighlightBackgroundColorMd;
56 case NativeTheme::kColorId_SelectedMenuItemForegroundColor: 48 case NativeTheme::kColorId_SelectedMenuItemForegroundColor:
57 return kSelectedMenuItemForegroundColorMd; 49 return kSelectedMenuItemForegroundColorMd;
58 // Link 50 // Link
59 case NativeTheme::kColorId_LinkDisabled:
60 return kLinkDisabledColorMd;
61 case NativeTheme::kColorId_LinkEnabled: 51 case NativeTheme::kColorId_LinkEnabled:
62 case NativeTheme::kColorId_LinkPressed: 52 case NativeTheme::kColorId_LinkPressed:
63 // Normal and pressed share a color. 53 // Normal and pressed share a color.
64 return kLinkEnabledColorMd; 54 return kLinkEnabledColorMd;
65 55
66 // FocusableBorder 56 // FocusableBorder
67 case NativeTheme::kColorId_FocusedBorderColor: 57 case NativeTheme::kColorId_FocusedBorderColor:
68 return gfx::kGoogleBlue500; 58 return gfx::kGoogleBlue500;
69 case NativeTheme::kColorId_UnfocusedBorderColor: 59 case NativeTheme::kColorId_UnfocusedBorderColor:
70 return SkColorSetA(SK_ColorBLACK, 0x66); 60 return SkColorSetA(SK_ColorBLACK, 0x66);
71 61
72 // Results Tables 62 // Results Tables
73 case NativeTheme::kColorId_ResultsTableHoveredBackground: 63 case NativeTheme::kColorId_ResultsTableHoveredBackground:
74 return SkColorSetA(base_theme->GetSystemColor( 64 return SkColorSetA(base_theme->GetSystemColor(
75 NativeTheme::kColorId_ResultsTableNormalText), 65 NativeTheme::kColorId_ResultsTableNormalText),
76 0x0D); 66 0x0D);
77 case NativeTheme::kColorId_ResultsTableSelectedBackground: 67 case NativeTheme::kColorId_ResultsTableSelectedBackground:
78 return SkColorSetA(base_theme->GetSystemColor( 68 return SkColorSetA(base_theme->GetSystemColor(
79 NativeTheme::kColorId_ResultsTableNormalText), 69 NativeTheme::kColorId_ResultsTableNormalText),
80 0x14); 70 0x14);
81 case NativeTheme::kColorId_ResultsTableNormalText: 71 case NativeTheme::kColorId_ResultsTableNormalText:
82 case NativeTheme::kColorId_ResultsTableHoveredText: 72 case NativeTheme::kColorId_ResultsTableHoveredText:
83 case NativeTheme::kColorId_ResultsTableSelectedText: 73 case NativeTheme::kColorId_ResultsTableSelectedText:
84 case NativeTheme::kColorId_ResultsTableNormalHeadline:
85 case NativeTheme::kColorId_ResultsTableHoveredHeadline:
86 case NativeTheme::kColorId_ResultsTableSelectedHeadline:
87 return kResultsTableTextMd; 74 return kResultsTableTextMd;
88 case NativeTheme::kColorId_ResultsTableNormalDimmedText: 75 case NativeTheme::kColorId_ResultsTableNormalDimmedText:
89 case NativeTheme::kColorId_ResultsTableHoveredDimmedText: 76 case NativeTheme::kColorId_ResultsTableHoveredDimmedText:
90 case NativeTheme::kColorId_ResultsTableSelectedDimmedText: 77 case NativeTheme::kColorId_ResultsTableSelectedDimmedText:
91 return kResultsTableDimmedTextMd; 78 return kResultsTableDimmedTextMd;
92 case NativeTheme::kColorId_ResultsTableNormalUrl: 79 case NativeTheme::kColorId_ResultsTableNormalUrl:
93 case NativeTheme::kColorId_ResultsTableHoveredUrl: 80 case NativeTheme::kColorId_ResultsTableHoveredUrl:
94 case NativeTheme::kColorId_ResultsTableSelectedUrl: 81 case NativeTheme::kColorId_ResultsTableSelectedUrl:
95 return base_theme->GetSystemColor(NativeTheme::kColorId_LinkEnabled); 82 return base_theme->GetSystemColor(NativeTheme::kColorId_LinkEnabled);
96 case NativeTheme::kColorId_ResultsTablePositiveText:
97 case NativeTheme::kColorId_ResultsTablePositiveHoveredText:
98 case NativeTheme::kColorId_ResultsTablePositiveSelectedText:
99 return kPositiveTextColorMd;
100 case NativeTheme::kColorId_ResultsTableNegativeText:
101 case NativeTheme::kColorId_ResultsTableNegativeHoveredText:
102 case NativeTheme::kColorId_ResultsTableNegativeSelectedText:
103 return kNegativeTextColorMd;
104 83
105 default: 84 default:
106 break; 85 break;
107 } 86 }
108 } 87 }
109 88
110 // Pre-MD colors. 89 // Pre-MD colors.
111 // Windows: 90 // Windows:
112 static const SkColor kWindowBackgroundColor = SK_ColorWHITE; 91 static const SkColor kWindowBackgroundColor = SK_ColorWHITE;
113 // Dialogs: 92 // Dialogs:
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 SkColorSetARGB(0xCC, 0xFF, 0xFF, 0xFF); 127 SkColorSetARGB(0xCC, 0xFF, 0xFF, 0xFF);
149 // Label: 128 // Label:
150 static const SkColor kLabelEnabledColor = kButtonEnabledColor; 129 static const SkColor kLabelEnabledColor = kButtonEnabledColor;
151 static const SkColor kLabelBackgroundColor = SK_ColorWHITE; 130 static const SkColor kLabelBackgroundColor = SK_ColorWHITE;
152 // Link: 131 // Link:
153 static const SkColor kLinkDisabledColor = SK_ColorBLACK; 132 static const SkColor kLinkDisabledColor = SK_ColorBLACK;
154 static const SkColor kLinkEnabledColor = SkColorSetRGB(0, 51, 153); 133 static const SkColor kLinkEnabledColor = SkColorSetRGB(0, 51, 153);
155 static const SkColor kLinkPressedColor = SK_ColorRED; 134 static const SkColor kLinkPressedColor = SK_ColorRED;
156 // Textfield: 135 // Textfield:
157 static const SkColor kTextfieldDefaultColor = SK_ColorBLACK; 136 static const SkColor kTextfieldDefaultColor = SK_ColorBLACK;
137 static const SkColor kTextfieldDefaultBackground = SK_ColorWHITE;
158 static const SkColor kTextfieldReadOnlyColor = SK_ColorDKGRAY; 138 static const SkColor kTextfieldReadOnlyColor = SK_ColorDKGRAY;
159 static const SkColor kTextfieldReadOnlyBackground = SK_ColorWHITE; 139 static const SkColor kTextfieldReadOnlyBackground = SK_ColorWHITE;
140 static const SkColor kTextfieldSelectionBackgroundFocused =
141 SkColorSetARGB(0x54, 0x60, 0xA8, 0xEB);
160 static const SkColor kTextfieldSelectionColor = color_utils::AlphaBlend( 142 static const SkColor kTextfieldSelectionColor = color_utils::AlphaBlend(
161 SK_ColorBLACK, kTextfieldSelectionBackgroundFocused, 0xdd); 143 SK_ColorBLACK, kTextfieldSelectionBackgroundFocused, 0xdd);
162 // Tooltip 144 // Tooltip
163 static const SkColor kTooltipBackground = 0xFFFFFFCC; 145 static const SkColor kTooltipBackground = 0xFFFFFFCC;
164 static const SkColor kTooltipTextColor = kLabelEnabledColor; 146 static const SkColor kTooltipTextColor = kLabelEnabledColor;
165 // Tree 147 // Tree
166 static const SkColor kTreeBackground = SK_ColorWHITE; 148 static const SkColor kTreeBackground = SK_ColorWHITE;
167 static const SkColor kTreeTextColor = SK_ColorBLACK; 149 static const SkColor kTreeTextColor = SK_ColorBLACK;
168 static const SkColor kTreeSelectedTextColor = SK_ColorBLACK; 150 static const SkColor kTreeSelectedTextColor = SK_ColorBLACK;
169 static const SkColor kTreeSelectionBackgroundColor = 151 static const SkColor kTreeSelectionBackgroundColor =
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 return kResultsTableHoveredBackground; 345 return kResultsTableHoveredBackground;
364 case NativeTheme::kColorId_ResultsTableSelectedBackground: 346 case NativeTheme::kColorId_ResultsTableSelectedBackground:
365 return kResultsTableSelectedBackground; 347 return kResultsTableSelectedBackground;
366 case NativeTheme::kColorId_ResultsTableNormalText: 348 case NativeTheme::kColorId_ResultsTableNormalText:
367 return kResultsTableNormalText; 349 return kResultsTableNormalText;
368 case NativeTheme::kColorId_ResultsTableHoveredText: 350 case NativeTheme::kColorId_ResultsTableHoveredText:
369 return kResultsTableHoveredText; 351 return kResultsTableHoveredText;
370 case NativeTheme::kColorId_ResultsTableSelectedText: 352 case NativeTheme::kColorId_ResultsTableSelectedText:
371 return kResultsTableSelectedText; 353 return kResultsTableSelectedText;
372 case NativeTheme::kColorId_ResultsTableNormalDimmedText: 354 case NativeTheme::kColorId_ResultsTableNormalDimmedText:
373 case NativeTheme::kColorId_ResultsTableNormalHeadline:
374 return kResultsTableNormalDimmedText; 355 return kResultsTableNormalDimmedText;
375 case NativeTheme::kColorId_ResultsTableHoveredDimmedText: 356 case NativeTheme::kColorId_ResultsTableHoveredDimmedText:
376 case NativeTheme::kColorId_ResultsTableHoveredHeadline:
377 return kResultsTableHoveredDimmedText; 357 return kResultsTableHoveredDimmedText;
378 case NativeTheme::kColorId_ResultsTableSelectedDimmedText: 358 case NativeTheme::kColorId_ResultsTableSelectedDimmedText:
379 case NativeTheme::kColorId_ResultsTableSelectedHeadline:
380 return kResultsTableSelectedDimmedText; 359 return kResultsTableSelectedDimmedText;
381 case NativeTheme::kColorId_ResultsTableNormalUrl: 360 case NativeTheme::kColorId_ResultsTableNormalUrl:
382 return kResultsTableNormalUrl; 361 return kResultsTableNormalUrl;
383 case NativeTheme::kColorId_ResultsTableHoveredUrl: 362 case NativeTheme::kColorId_ResultsTableHoveredUrl:
384 case NativeTheme::kColorId_ResultsTableSelectedUrl: 363 case NativeTheme::kColorId_ResultsTableSelectedUrl:
385 return kResultsTableSelectedOrHoveredUrl; 364 return kResultsTableSelectedOrHoveredUrl;
386 case NativeTheme::kColorId_ResultsTablePositiveText: 365 case NativeTheme::kColorId_ResultsTablePositiveText:
387 return kResultsTablePositiveText; 366 return kResultsTablePositiveText;
388 case NativeTheme::kColorId_ResultsTablePositiveHoveredText: 367 case NativeTheme::kColorId_ResultsTablePositiveHoveredText:
389 return kResultsTablePositiveHoveredText; 368 return kResultsTablePositiveHoveredText;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 } 414 }
436 if (menu_item.corner_radius > 0) { 415 if (menu_item.corner_radius > 0) {
437 const SkScalar radius = SkIntToScalar(menu_item.corner_radius); 416 const SkScalar radius = SkIntToScalar(menu_item.corner_radius);
438 canvas->drawRoundRect(gfx::RectToSkRect(rect), radius, radius, paint); 417 canvas->drawRoundRect(gfx::RectToSkRect(rect), radius, radius, paint);
439 return; 418 return;
440 } 419 }
441 canvas->drawRect(gfx::RectToSkRect(rect), paint); 420 canvas->drawRect(gfx::RectToSkRect(rect), paint);
442 } 421 }
443 422
444 } // namespace ui 423 } // namespace ui
OLDNEW
« no previous file with comments | « chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc ('k') | ui/native_theme/native_theme.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698