OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "ui/native_theme/fallback_theme.h" | |
6 | |
7 #include "base/basictypes.h" | |
8 #include "base/logging.h" | |
9 #include "ui/gfx/color_utils.h" | |
10 #include "ui/gfx/skia_utils_gtk.h" | |
11 #include "ui/native_theme/common_theme.h" | |
12 | |
13 namespace { | |
14 | |
15 const SkColor kMenuBackgroundColor = SK_ColorWHITE; | |
16 | |
17 // Theme colors returned by GetSystemColor(). | |
18 const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128); | |
19 // Windows: | |
20 const SkColor kWindowBackgroundColor = SK_ColorWHITE; | |
21 // Dialogs: | |
22 const SkColor kDialogBackgroundColor = SkColorSetRGB(251, 251, 251); | |
23 // FocusableBorder: | |
24 const SkColor kFocusedBorderColor = SkColorSetRGB(0x4D, 0x90, 0xFE); | |
25 const SkColor kUnfocusedBorderColor = SkColorSetRGB(0xD9, 0xD9, 0xD9); | |
26 // TextButton: | |
27 const SkColor kTextButtonBackgroundColor = SkColorSetRGB(0xDE, 0xDE, 0xDE); | |
28 const SkColor kTextButtonEnabledColor = SkColorSetRGB(0x22, 0x22, 0x22); | |
29 const SkColor kTextButtonDisabledColor = SkColorSetRGB(0x99, 0x99, 0x99); | |
30 const SkColor kTextButtonHighlightColor = SkColorSetRGB(0, 0, 0); | |
31 const SkColor kTextButtonHoverColor = kTextButtonEnabledColor; | |
32 // MenuItem: | |
33 const SkColor kEnabledMenuItemForegroundColor = kTextButtonEnabledColor; | |
34 const SkColor kDisabledMenuItemForegroundColor = kTextButtonDisabledColor; | |
35 const SkColor kFocusedMenuItemBackgroundColor = SkColorSetRGB(0xF1, 0xF1, 0xF1); | |
36 const SkColor kHoverMenuItemBackgroundColor = | |
37 SkColorSetARGB(204, 255, 255, 255); | |
38 const SkColor kMenuSeparatorColor = SkColorSetRGB(0xED, 0xED, 0xED); | |
39 const SkColor kEnabledMenuButtonBorderColor = SkColorSetARGB(36, 0, 0, 0); | |
40 const SkColor kFocusedMenuButtonBorderColor = SkColorSetARGB(72, 0, 0, 0); | |
41 const SkColor kHoverMenuButtonBorderColor = SkColorSetARGB(72, 0, 0, 0); | |
42 // Label: | |
43 const SkColor kLabelEnabledColor = kTextButtonEnabledColor; | |
44 const SkColor kLabelDisabledColor = kTextButtonDisabledColor; | |
45 const SkColor kLabelBackgroundColor = SK_ColorWHITE; | |
46 // Textfield: | |
47 const SkColor kTextfieldDefaultColor = SK_ColorBLACK; | |
48 const SkColor kTextfieldDefaultBackground = SK_ColorWHITE; | |
49 const SkColor kTextfieldReadOnlyColor = SK_ColorDKGRAY; | |
50 const SkColor kTextfieldReadOnlyBackground = SK_ColorWHITE; | |
51 const SkColor kTextfieldSelectionBackgroundFocused = | |
52 SkColorSetARGB(0x54, 0x60, 0xA8, 0xEB); | |
53 const SkColor kTextfieldSelectionBackgroundUnfocused = SK_ColorLTGRAY; | |
54 const SkColor kTextfieldSelectionColor = | |
55 color_utils::AlphaBlend(SK_ColorBLACK, | |
56 kTextfieldSelectionBackgroundFocused, 0xdd); | |
57 // Tree | |
58 const SkColor kTreeBackground = SK_ColorWHITE; | |
59 const SkColor kTreeTextColor = SK_ColorBLACK; | |
60 const SkColor kTreeSelectedTextColor = SK_ColorBLACK; | |
61 const SkColor kTreeSelectionBackgroundColor = SkColorSetRGB(0xEE, 0xEE, 0xEE); | |
62 const SkColor kTreeArrowColor = SkColorSetRGB(0x7A, 0x7A, 0x7A); | |
63 // Table | |
64 const SkColor kTableBackground = SK_ColorWHITE; | |
65 const SkColor kTableTextColor = SK_ColorBLACK; | |
66 const SkColor kTableSelectedTextColor = SK_ColorBLACK; | |
67 const SkColor kTableSelectionBackgroundColor = SkColorSetRGB(0xEE, 0xEE, 0xEE); | |
68 const SkColor kTableGroupingIndicatorColor = SkColorSetRGB(0xCC, 0xCC, 0xCC); | |
69 | |
70 } // namespace | |
71 | |
72 namespace ui { | |
73 | |
74 // static | |
75 FallbackTheme* FallbackTheme::instance() { | |
76 CR_DEFINE_STATIC_LOCAL(FallbackTheme, s_native_theme, ()); | |
77 return &s_native_theme; | |
78 } | |
79 | |
80 | |
sky
2013/04/26 16:13:50
Only one new line.
keishi
2013/04/30 08:16:58
Done.
| |
81 | |
82 SkColor FallbackTheme::GetSystemColor(ColorId color_id) const { | |
83 // This implementation returns hardcoded colors. | |
84 SkColor color; | |
85 if (CommonThemeGetSystemColor(color_id, &color)) | |
86 return color; | |
87 | |
88 switch (color_id) { | |
89 // Windows | |
90 case kColorId_WindowBackground: | |
91 return kWindowBackgroundColor; | |
92 | |
93 // Dialogs | |
94 case kColorId_DialogBackground: | |
95 return kDialogBackgroundColor; | |
96 | |
97 // FocusableBorder | |
98 case kColorId_FocusedBorderColor: | |
99 return kFocusedBorderColor; | |
100 case kColorId_UnfocusedBorderColor: | |
101 return kUnfocusedBorderColor; | |
102 | |
103 // TextButton | |
104 case kColorId_TextButtonBackgroundColor: | |
105 return kTextButtonBackgroundColor; | |
106 case kColorId_TextButtonEnabledColor: | |
107 return kTextButtonEnabledColor; | |
108 case kColorId_TextButtonDisabledColor: | |
109 return kTextButtonDisabledColor; | |
110 case kColorId_TextButtonHighlightColor: | |
111 return kTextButtonHighlightColor; | |
112 case kColorId_TextButtonHoverColor: | |
113 return kTextButtonHoverColor; | |
114 | |
115 // MenuItem | |
116 case kColorId_EnabledMenuItemForegroundColor: | |
117 return kEnabledMenuItemForegroundColor; | |
118 case kColorId_DisabledMenuItemForegroundColor: | |
119 return kDisabledMenuItemForegroundColor; | |
120 case kColorId_FocusedMenuItemBackgroundColor: | |
121 return kFocusedMenuItemBackgroundColor; | |
122 case kColorId_HoverMenuItemBackgroundColor: | |
123 return kHoverMenuItemBackgroundColor; | |
124 case kColorId_MenuSeparatorColor: | |
125 return kMenuSeparatorColor; | |
126 case kColorId_EnabledMenuButtonBorderColor: | |
127 return kEnabledMenuButtonBorderColor; | |
128 case kColorId_FocusedMenuButtonBorderColor: | |
129 return kFocusedMenuButtonBorderColor; | |
130 case kColorId_HoverMenuButtonBorderColor: | |
131 return kHoverMenuButtonBorderColor; | |
132 | |
133 // Label | |
134 case kColorId_LabelEnabledColor: | |
135 return kLabelEnabledColor; | |
136 case kColorId_LabelDisabledColor: | |
137 return kLabelDisabledColor; | |
138 case kColorId_LabelBackgroundColor: | |
139 return kLabelBackgroundColor; | |
140 | |
141 // Textfield | |
142 case kColorId_TextfieldDefaultColor: | |
143 return kTextfieldDefaultColor; | |
144 case kColorId_TextfieldDefaultBackground: | |
145 return kTextfieldDefaultBackground; | |
146 case kColorId_TextfieldReadOnlyColor: | |
147 return kTextfieldReadOnlyColor; | |
148 case kColorId_TextfieldReadOnlyBackground: | |
149 return kTextfieldReadOnlyBackground; | |
150 case kColorId_TextfieldSelectionColor: | |
151 return kTextfieldSelectionColor; | |
152 case kColorId_TextfieldSelectionBackgroundFocused: | |
153 return kTextfieldSelectionBackgroundFocused; | |
154 case kColorId_TextfieldSelectionBackgroundUnfocused: | |
155 return kTextfieldSelectionBackgroundUnfocused; | |
156 | |
157 // Tree | |
158 case kColorId_TreeBackground: | |
159 return kTreeBackground; | |
160 case kColorId_TreeText: | |
161 return kTreeTextColor; | |
162 case kColorId_TreeSelectedText: | |
163 case kColorId_TreeSelectedTextUnfocused: | |
164 return kTreeSelectedTextColor; | |
165 case kColorId_TreeSelectionBackgroundFocused: | |
166 case kColorId_TreeSelectionBackgroundUnfocused: | |
167 return kTreeSelectionBackgroundColor; | |
168 case kColorId_TreeArrow: | |
169 return kTreeArrowColor; | |
170 | |
171 // Table | |
172 case kColorId_TableBackground: | |
173 return kTableBackground; | |
174 case kColorId_TableText: | |
175 return kTableTextColor; | |
176 case kColorId_TableSelectedText: | |
177 case kColorId_TableSelectedTextUnfocused: | |
178 return kTableSelectedTextColor; | |
179 case kColorId_TableSelectionBackgroundFocused: | |
180 case kColorId_TableSelectionBackgroundUnfocused: | |
181 return kTableSelectionBackgroundColor; | |
182 case kColorId_TableGroupingIndicatorColor: | |
183 return kTableGroupingIndicatorColor; | |
184 | |
185 case kColorId_MenuBackgroundColor: | |
186 return kMenuBackgroundColor; | |
187 case kColorId_MenuBorderColor: | |
188 NOTREACHED(); | |
189 break; | |
190 } | |
191 | |
192 return kInvalidColorIdColor; | |
193 } | |
194 | |
195 FallbackTheme::FallbackTheme() { | |
196 } | |
197 | |
198 FallbackTheme::~FallbackTheme() { | |
199 } | |
200 | |
201 } // namespace ui | |
OLD | NEW |