Chromium Code Reviews| 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 |