| 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/native_theme/common_theme.h" | |
| 11 | |
| 12 namespace ui { | |
| 13 | |
| 14 FallbackTheme::FallbackTheme() { | |
| 15 } | |
| 16 | |
| 17 FallbackTheme::~FallbackTheme() { | |
| 18 } | |
| 19 | |
| 20 SkColor FallbackTheme::GetSystemColor(ColorId color_id) const { | |
| 21 // This implementation returns hardcoded colors. | |
| 22 | |
| 23 static const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128); | |
| 24 // Windows: | |
| 25 static const SkColor kWindowBackgroundColor = SK_ColorWHITE; | |
| 26 // Dialogs: | |
| 27 static const SkColor kDialogBackgroundColor = SkColorSetRGB(251, 251, 251); | |
| 28 // FocusableBorder: | |
| 29 static const SkColor kFocusedBorderColor = SkColorSetRGB(0x4D, 0x90, 0xFE); | |
| 30 static const SkColor kUnfocusedBorderColor = SkColorSetRGB(0xD9, 0xD9, 0xD9); | |
| 31 // Button: | |
| 32 static const SkColor kButtonBackgroundColor = SkColorSetRGB(0xDE, 0xDE, 0xDE); | |
| 33 static const SkColor kButtonEnabledColor = SkColorSetRGB(0x22, 0x22, 0x22); | |
| 34 static const SkColor kButtonHighlightColor = SkColorSetRGB(0, 0, 0); | |
| 35 static const SkColor kButtonHoverColor = kButtonEnabledColor; | |
| 36 // Label: | |
| 37 static const SkColor kLabelEnabledColor = kButtonEnabledColor; | |
| 38 static const SkColor kLabelBackgroundColor = SK_ColorWHITE; | |
| 39 // Textfield: | |
| 40 static const SkColor kTextfieldDefaultColor = SK_ColorBLACK; | |
| 41 static const SkColor kTextfieldDefaultBackground = SK_ColorWHITE; | |
| 42 static const SkColor kTextfieldReadOnlyColor = SK_ColorDKGRAY; | |
| 43 static const SkColor kTextfieldReadOnlyBackground = SK_ColorWHITE; | |
| 44 static const SkColor kTextfieldSelectionBackgroundFocused = | |
| 45 SkColorSetARGB(0x54, 0x60, 0xA8, 0xEB); | |
| 46 static const SkColor kTextfieldSelectionColor = | |
| 47 color_utils::AlphaBlend(SK_ColorBLACK, | |
| 48 kTextfieldSelectionBackgroundFocused, 0xdd); | |
| 49 // Tooltip | |
| 50 static const SkColor kTooltipBackground = 0xFFFFFFCC; | |
| 51 static const SkColor kTooltipTextColor = kLabelEnabledColor; | |
| 52 // Tree | |
| 53 static const SkColor kTreeBackground = SK_ColorWHITE; | |
| 54 static const SkColor kTreeTextColor = SK_ColorBLACK; | |
| 55 static const SkColor kTreeSelectedTextColor = SK_ColorBLACK; | |
| 56 static const SkColor kTreeSelectionBackgroundColor = | |
| 57 SkColorSetRGB(0xEE, 0xEE, 0xEE); | |
| 58 static const SkColor kTreeArrowColor = SkColorSetRGB(0x7A, 0x7A, 0x7A); | |
| 59 // Table | |
| 60 static const SkColor kTableBackground = SK_ColorWHITE; | |
| 61 static const SkColor kTableTextColor = SK_ColorBLACK; | |
| 62 static const SkColor kTableSelectedTextColor = SK_ColorBLACK; | |
| 63 static const SkColor kTableSelectionBackgroundColor = | |
| 64 SkColorSetRGB(0xEE, 0xEE, 0xEE); | |
| 65 static const SkColor kTableGroupingIndicatorColor = | |
| 66 SkColorSetRGB(0xCC, 0xCC, 0xCC); | |
| 67 // Results Tables | |
| 68 static const SkColor kResultsTableHoveredBackground = | |
| 69 color_utils::AlphaBlend(kTextfieldSelectionBackgroundFocused, | |
| 70 kTextfieldDefaultBackground, 0x40); | |
| 71 static const SkColor kResultsTableNormalText = color_utils::AlphaBlend( | |
| 72 SK_ColorBLACK, kTextfieldDefaultBackground, 0xDD); | |
| 73 static const SkColor kResultsTableHoveredText = color_utils::AlphaBlend( | |
| 74 SK_ColorBLACK, kResultsTableHoveredBackground, 0xDD); | |
| 75 static const SkColor kResultsTableSelectedText = color_utils::AlphaBlend( | |
| 76 SK_ColorBLACK, kTextfieldSelectionBackgroundFocused, 0xDD); | |
| 77 static const SkColor kResultsTableNormalDimmedText = color_utils::AlphaBlend( | |
| 78 SK_ColorBLACK, kTextfieldDefaultBackground, 0xBB); | |
| 79 static const SkColor kResultsTableHoveredDimmedText = color_utils::AlphaBlend( | |
| 80 SK_ColorBLACK, kResultsTableHoveredBackground, 0xBB); | |
| 81 static const SkColor kResultsTableSelectedDimmedText = | |
| 82 color_utils::AlphaBlend( | |
| 83 SK_ColorBLACK, kTextfieldSelectionBackgroundFocused, 0xBB); | |
| 84 static const SkColor kResultsTableSelectedOrHoveredUrl = | |
| 85 SkColorSetARGB(0xff, 0x00, 0x66, 0x22); | |
| 86 static const SkColor kResultsTableNormalDivider = color_utils::AlphaBlend( | |
| 87 kResultsTableNormalText, kTextfieldDefaultBackground, 0x34); | |
| 88 static const SkColor kResultsTableHoveredDivider = color_utils::AlphaBlend( | |
| 89 kResultsTableHoveredText, kResultsTableHoveredBackground, 0x34); | |
| 90 static const SkColor kResultsTabSelectedDivider = color_utils::AlphaBlend( | |
| 91 kResultsTableSelectedText, kTextfieldSelectionBackgroundFocused, 0x34); | |
| 92 | |
| 93 SkColor color; | |
| 94 if (CommonThemeGetSystemColor(color_id, &color)) | |
| 95 return color; | |
| 96 | |
| 97 switch (color_id) { | |
| 98 // Windows | |
| 99 case kColorId_WindowBackground: | |
| 100 return kWindowBackgroundColor; | |
| 101 | |
| 102 // Dialogs | |
| 103 case kColorId_DialogBackground: | |
| 104 return kDialogBackgroundColor; | |
| 105 | |
| 106 // FocusableBorder | |
| 107 case kColorId_FocusedBorderColor: | |
| 108 return kFocusedBorderColor; | |
| 109 case kColorId_UnfocusedBorderColor: | |
| 110 return kUnfocusedBorderColor; | |
| 111 | |
| 112 // Button | |
| 113 case kColorId_ButtonBackgroundColor: | |
| 114 return kButtonBackgroundColor; | |
| 115 case kColorId_ButtonEnabledColor: | |
| 116 return kButtonEnabledColor; | |
| 117 case kColorId_ButtonHighlightColor: | |
| 118 return kButtonHighlightColor; | |
| 119 case kColorId_ButtonHoverColor: | |
| 120 return kButtonHoverColor; | |
| 121 | |
| 122 // Label | |
| 123 case kColorId_LabelEnabledColor: | |
| 124 return kLabelEnabledColor; | |
| 125 case kColorId_LabelDisabledColor: | |
| 126 return GetSystemColor(kColorId_ButtonDisabledColor); | |
| 127 case kColorId_LabelBackgroundColor: | |
| 128 return kLabelBackgroundColor; | |
| 129 | |
| 130 // Textfield | |
| 131 case kColorId_TextfieldDefaultColor: | |
| 132 return kTextfieldDefaultColor; | |
| 133 case kColorId_TextfieldDefaultBackground: | |
| 134 return kTextfieldDefaultBackground; | |
| 135 case kColorId_TextfieldReadOnlyColor: | |
| 136 return kTextfieldReadOnlyColor; | |
| 137 case kColorId_TextfieldReadOnlyBackground: | |
| 138 return kTextfieldReadOnlyBackground; | |
| 139 case kColorId_TextfieldSelectionColor: | |
| 140 return kTextfieldSelectionColor; | |
| 141 case kColorId_TextfieldSelectionBackgroundFocused: | |
| 142 return kTextfieldSelectionBackgroundFocused; | |
| 143 | |
| 144 // Tooltip | |
| 145 case kColorId_TooltipBackground: | |
| 146 return kTooltipBackground; | |
| 147 case kColorId_TooltipText: | |
| 148 return kTooltipTextColor; | |
| 149 | |
| 150 // Tree | |
| 151 case kColorId_TreeBackground: | |
| 152 return kTreeBackground; | |
| 153 case kColorId_TreeText: | |
| 154 return kTreeTextColor; | |
| 155 case kColorId_TreeSelectedText: | |
| 156 case kColorId_TreeSelectedTextUnfocused: | |
| 157 return kTreeSelectedTextColor; | |
| 158 case kColorId_TreeSelectionBackgroundFocused: | |
| 159 case kColorId_TreeSelectionBackgroundUnfocused: | |
| 160 return kTreeSelectionBackgroundColor; | |
| 161 case kColorId_TreeArrow: | |
| 162 return kTreeArrowColor; | |
| 163 | |
| 164 // Table | |
| 165 case kColorId_TableBackground: | |
| 166 return kTableBackground; | |
| 167 case kColorId_TableText: | |
| 168 return kTableTextColor; | |
| 169 case kColorId_TableSelectedText: | |
| 170 case kColorId_TableSelectedTextUnfocused: | |
| 171 return kTableSelectedTextColor; | |
| 172 case kColorId_TableSelectionBackgroundFocused: | |
| 173 case kColorId_TableSelectionBackgroundUnfocused: | |
| 174 return kTableSelectionBackgroundColor; | |
| 175 case kColorId_TableGroupingIndicatorColor: | |
| 176 return kTableGroupingIndicatorColor; | |
| 177 | |
| 178 // Results Tables | |
| 179 case kColorId_ResultsTableNormalBackground: | |
| 180 return kTextfieldDefaultBackground; | |
| 181 case kColorId_ResultsTableHoveredBackground: | |
| 182 return kResultsTableHoveredBackground; | |
| 183 case kColorId_ResultsTableSelectedBackground: | |
| 184 return kTextfieldSelectionBackgroundFocused; | |
| 185 case kColorId_ResultsTableNormalText: | |
| 186 return kResultsTableNormalText; | |
| 187 case kColorId_ResultsTableHoveredText: | |
| 188 return kResultsTableHoveredText; | |
| 189 case kColorId_ResultsTableSelectedText: | |
| 190 return kResultsTableSelectedText; | |
| 191 case kColorId_ResultsTableNormalDimmedText: | |
| 192 return kResultsTableNormalDimmedText; | |
| 193 case kColorId_ResultsTableHoveredDimmedText: | |
| 194 return kResultsTableHoveredDimmedText; | |
| 195 case kColorId_ResultsTableSelectedDimmedText: | |
| 196 return kResultsTableSelectedDimmedText; | |
| 197 case kColorId_ResultsTableNormalUrl: | |
| 198 return kTextfieldSelectionColor; | |
| 199 case kColorId_ResultsTableHoveredUrl: | |
| 200 case kColorId_ResultsTableSelectedUrl: | |
| 201 return kResultsTableSelectedOrHoveredUrl; | |
| 202 case kColorId_ResultsTableNormalDivider: | |
| 203 return kResultsTableNormalDivider; | |
| 204 case kColorId_ResultsTableHoveredDivider: | |
| 205 return kResultsTableHoveredDivider; | |
| 206 case kColorId_ResultsTableSelectedDivider: | |
| 207 return kResultsTabSelectedDivider; | |
| 208 | |
| 209 default: | |
| 210 NOTREACHED(); | |
| 211 break; | |
| 212 } | |
| 213 | |
| 214 return kInvalidColorIdColor; | |
| 215 } | |
| 216 | |
| 217 } // namespace ui | |
| OLD | NEW |