| Index: ui/native_theme/fallback_theme.cc
|
| diff --git a/ui/native_theme/fallback_theme.cc b/ui/native_theme/fallback_theme.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4bfe8d9804c268387d1c4bdf508e8d53212b4dc0
|
| --- /dev/null
|
| +++ b/ui/native_theme/fallback_theme.cc
|
| @@ -0,0 +1,198 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "ui/native_theme/fallback_theme.h"
|
| +
|
| +#include "base/basictypes.h"
|
| +#include "base/logging.h"
|
| +#include "ui/gfx/color_utils.h"
|
| +#include "ui/gfx/skia_utils_gtk.h"
|
| +#include "ui/native_theme/common_theme.h"
|
| +
|
| +namespace ui {
|
| +
|
| +FallbackTheme::FallbackTheme() {
|
| +}
|
| +
|
| +FallbackTheme::~FallbackTheme() {
|
| +}
|
| +
|
| +SkColor FallbackTheme::GetSystemColor(ColorId color_id) const {
|
| + // This implementation returns hardcoded colors.
|
| +
|
| + static const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128);
|
| + // Menu:
|
| + static const SkColor kMenuBackgroundColor = SK_ColorWHITE;
|
| + // Windows:
|
| + static const SkColor kWindowBackgroundColor = SK_ColorWHITE;
|
| + // Dialogs:
|
| + static const SkColor kDialogBackgroundColor = SkColorSetRGB(251, 251, 251);
|
| + // FocusableBorder:
|
| + static const SkColor kFocusedBorderColor = SkColorSetRGB(0x4D, 0x90, 0xFE);
|
| + static const SkColor kUnfocusedBorderColor = SkColorSetRGB(0xD9, 0xD9, 0xD9);
|
| + // Button:
|
| + static const SkColor kButtonBackgroundColor = SkColorSetRGB(0xDE, 0xDE, 0xDE);
|
| + static const SkColor kButtonEnabledColor = SkColorSetRGB(0x22, 0x22, 0x22);
|
| + static const SkColor kButtonDisabledColor = SkColorSetRGB(0x99, 0x99, 0x99);
|
| + static const SkColor kButtonHighlightColor = SkColorSetRGB(0, 0, 0);
|
| + static const SkColor kButtonHoverColor = kButtonEnabledColor;
|
| + // MenuItem:
|
| + static const SkColor kEnabledMenuItemForegroundColor = kButtonEnabledColor;
|
| + static const SkColor kDisabledMenuItemForegroundColor = kButtonDisabledColor;
|
| + static const SkColor kFocusedMenuItemBackgroundColor =
|
| + SkColorSetRGB(0xF1, 0xF1, 0xF1);
|
| + static const SkColor kHoverMenuItemBackgroundColor =
|
| + SkColorSetARGB(204, 255, 255, 255);
|
| + static const SkColor kMenuSeparatorColor = SkColorSetRGB(0xED, 0xED, 0xED);
|
| + static const SkColor kEnabledMenuButtonBorderColor =
|
| + SkColorSetARGB(36, 0, 0, 0);
|
| + static const SkColor kFocusedMenuButtonBorderColor =
|
| + SkColorSetARGB(72, 0, 0, 0);
|
| + static const SkColor kHoverMenuButtonBorderColor =
|
| + SkColorSetARGB(72, 0, 0, 0);
|
| + // Label:
|
| + static const SkColor kLabelEnabledColor = kButtonEnabledColor;
|
| + static const SkColor kLabelDisabledColor = kButtonDisabledColor;
|
| + static const SkColor kLabelBackgroundColor = SK_ColorWHITE;
|
| + // Textfield:
|
| + static const SkColor kTextfieldDefaultColor = SK_ColorBLACK;
|
| + static const SkColor kTextfieldDefaultBackground = SK_ColorWHITE;
|
| + static const SkColor kTextfieldReadOnlyColor = SK_ColorDKGRAY;
|
| + static const SkColor kTextfieldReadOnlyBackground = SK_ColorWHITE;
|
| + static const SkColor kTextfieldSelectionBackgroundFocused =
|
| + SkColorSetARGB(0x54, 0x60, 0xA8, 0xEB);
|
| + static const SkColor kTextfieldSelectionBackgroundUnfocused = SK_ColorLTGRAY;
|
| + static const SkColor kTextfieldSelectionColor =
|
| + color_utils::AlphaBlend(SK_ColorBLACK,
|
| + kTextfieldSelectionBackgroundFocused, 0xdd);
|
| + // Tree
|
| + static const SkColor kTreeBackground = SK_ColorWHITE;
|
| + static const SkColor kTreeTextColor = SK_ColorBLACK;
|
| + static const SkColor kTreeSelectedTextColor = SK_ColorBLACK;
|
| + static const SkColor kTreeSelectionBackgroundColor =
|
| + SkColorSetRGB(0xEE, 0xEE, 0xEE);
|
| + static const SkColor kTreeArrowColor = SkColorSetRGB(0x7A, 0x7A, 0x7A);
|
| + // Table
|
| + static const SkColor kTableBackground = SK_ColorWHITE;
|
| + static const SkColor kTableTextColor = SK_ColorBLACK;
|
| + static const SkColor kTableSelectedTextColor = SK_ColorBLACK;
|
| + static const SkColor kTableSelectionBackgroundColor =
|
| + SkColorSetRGB(0xEE, 0xEE, 0xEE);
|
| + static const SkColor kTableGroupingIndicatorColor =
|
| + SkColorSetRGB(0xCC, 0xCC, 0xCC);
|
| +
|
| + SkColor color;
|
| + if (CommonThemeGetSystemColor(color_id, &color))
|
| + return color;
|
| +
|
| + switch (color_id) {
|
| + // Windows
|
| + case kColorId_WindowBackground:
|
| + return kWindowBackgroundColor;
|
| +
|
| + // Dialogs
|
| + case kColorId_DialogBackground:
|
| + return kDialogBackgroundColor;
|
| +
|
| + // FocusableBorder
|
| + case kColorId_FocusedBorderColor:
|
| + return kFocusedBorderColor;
|
| + case kColorId_UnfocusedBorderColor:
|
| + return kUnfocusedBorderColor;
|
| +
|
| + // Button
|
| + case kColorId_ButtonBackgroundColor:
|
| + return kButtonBackgroundColor;
|
| + case kColorId_ButtonEnabledColor:
|
| + return kButtonEnabledColor;
|
| + case kColorId_ButtonDisabledColor:
|
| + return kButtonDisabledColor;
|
| + case kColorId_ButtonHighlightColor:
|
| + return kButtonHighlightColor;
|
| + case kColorId_ButtonHoverColor:
|
| + return kButtonHoverColor;
|
| +
|
| + // MenuItem
|
| + case kColorId_EnabledMenuItemForegroundColor:
|
| + return kEnabledMenuItemForegroundColor;
|
| + case kColorId_DisabledMenuItemForegroundColor:
|
| + return kDisabledMenuItemForegroundColor;
|
| + case kColorId_SelectedMenuItemForegroundColor:
|
| + return kEnabledMenuItemForegroundColor;
|
| + case kColorId_FocusedMenuItemBackgroundColor:
|
| + return kFocusedMenuItemBackgroundColor;
|
| + case kColorId_HoverMenuItemBackgroundColor:
|
| + return kHoverMenuItemBackgroundColor;
|
| + case kColorId_MenuSeparatorColor:
|
| + return kMenuSeparatorColor;
|
| + case kColorId_EnabledMenuButtonBorderColor:
|
| + return kEnabledMenuButtonBorderColor;
|
| + case kColorId_FocusedMenuButtonBorderColor:
|
| + return kFocusedMenuButtonBorderColor;
|
| + case kColorId_HoverMenuButtonBorderColor:
|
| + return kHoverMenuButtonBorderColor;
|
| +
|
| + // Label
|
| + case kColorId_LabelEnabledColor:
|
| + return kLabelEnabledColor;
|
| + case kColorId_LabelDisabledColor:
|
| + return kLabelDisabledColor;
|
| + case kColorId_LabelBackgroundColor:
|
| + return kLabelBackgroundColor;
|
| +
|
| + // Textfield
|
| + case kColorId_TextfieldDefaultColor:
|
| + return kTextfieldDefaultColor;
|
| + case kColorId_TextfieldDefaultBackground:
|
| + return kTextfieldDefaultBackground;
|
| + case kColorId_TextfieldReadOnlyColor:
|
| + return kTextfieldReadOnlyColor;
|
| + case kColorId_TextfieldReadOnlyBackground:
|
| + return kTextfieldReadOnlyBackground;
|
| + case kColorId_TextfieldSelectionColor:
|
| + return kTextfieldSelectionColor;
|
| + case kColorId_TextfieldSelectionBackgroundFocused:
|
| + return kTextfieldSelectionBackgroundFocused;
|
| + case kColorId_TextfieldSelectionBackgroundUnfocused:
|
| + return kTextfieldSelectionBackgroundUnfocused;
|
| +
|
| + // Tree
|
| + case kColorId_TreeBackground:
|
| + return kTreeBackground;
|
| + case kColorId_TreeText:
|
| + return kTreeTextColor;
|
| + case kColorId_TreeSelectedText:
|
| + case kColorId_TreeSelectedTextUnfocused:
|
| + return kTreeSelectedTextColor;
|
| + case kColorId_TreeSelectionBackgroundFocused:
|
| + case kColorId_TreeSelectionBackgroundUnfocused:
|
| + return kTreeSelectionBackgroundColor;
|
| + case kColorId_TreeArrow:
|
| + return kTreeArrowColor;
|
| +
|
| + // Table
|
| + case kColorId_TableBackground:
|
| + return kTableBackground;
|
| + case kColorId_TableText:
|
| + return kTableTextColor;
|
| + case kColorId_TableSelectedText:
|
| + case kColorId_TableSelectedTextUnfocused:
|
| + return kTableSelectedTextColor;
|
| + case kColorId_TableSelectionBackgroundFocused:
|
| + case kColorId_TableSelectionBackgroundUnfocused:
|
| + return kTableSelectionBackgroundColor;
|
| + case kColorId_TableGroupingIndicatorColor:
|
| + return kTableGroupingIndicatorColor;
|
| +
|
| + case kColorId_MenuBackgroundColor:
|
| + return kMenuBackgroundColor;
|
| + case kColorId_MenuBorderColor:
|
| + NOTREACHED();
|
| + break;
|
| + }
|
| +
|
| + return kInvalidColorIdColor;
|
| +}
|
| +
|
| +} // namespace ui
|
|
|