Commit 3321f7eb authored by jennyz@chromium.org's avatar jennyz@chromium.org

Implement Aura Menu spec for the color specification part.

http://www.corp.google.com/~kenmoore/mocks/chromeos/Misc_2012/Menus/markup1/menu4.html

Menu text enabled color, button enabled text color, label enabled text color are set to #222.
Menu text disabled color, button disabled text color, label disabled text color are set to #999.
Menu keyboard shortcut text color is set to #999.
Menu item hover background color is set to #f1f1f1.



BUG=122858
TEST=Menu spec for all the color is implemented, see code review description for details.

Review URL: http://codereview.chromium.org/10270021

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134645 0039d316-1c4b-4281-b951-d872f2087c98
parent d4e1ac2c
......@@ -231,6 +231,10 @@ class UI_EXPORT NativeTheme {
kColorId_EnabledMenuItemForegroundColor,
kColorId_DisabledMenuItemForegroundColor,
kColorId_FocusedMenuItemBackgroundColor,
// Label
kColorId_LabelEnabledColor,
kColorId_LabelDisabledColor,
kColorId_LabelBackgroundColor,
// Textfield
kColorId_TextfieldDefaultColor,
kColorId_TextfieldDefaultBackground,
......
......@@ -24,15 +24,18 @@ const SkColor kFocusedBorderColor = SkColorSetRGB(0x4D, 0x90, 0xFE);
const SkColor kUnfocusedBorderColor = SkColorSetRGB(0xD9, 0xD9, 0xD9);
// TextButton:
const SkColor kTextButtonBackgroundColor = SkColorSetRGB(0xDE, 0xDE, 0xDE);
const SkColor kTextButtonEnabledColor = SkColorSetRGB(0x44, 0x44, 0x44);
const SkColor kTextButtonEnabledColor = SkColorSetRGB(0x22, 0x22, 0x22);
const SkColor kTextButtonDisabledColor = SkColorSetRGB(0x99, 0x99, 0x99);
const SkColor kTextButtonHighlightColor = SkColorSetRGB(0, 0, 0);
const SkColor kTextButtonHoverColor = kTextButtonEnabledColor;
// MenuItem:
const SkColor kEnabledMenuItemForegroundColor = SK_ColorBLACK;
const SkColor kDisabledMenuItemForegroundColor =
SkColorSetRGB(0x80, 0x80, 0x80);
const SkColor kEnabledMenuItemForegroundColor = kTextButtonEnabledColor;
const SkColor kDisabledMenuItemForegroundColor = kTextButtonDisabledColor;
const SkColor kFocusedMenuItemBackgroundColor = SkColorSetRGB(0xF1, 0xF1, 0xF1);
// Label:
const SkColor kLabelEnabledColor = kTextButtonEnabledColor;
const SkColor kLabelDisabledColor = kTextButtonDisabledColor;
const SkColor kLabelBackgroundColor = SK_ColorWHITE;
// Textfield:
const SkColor kTextfieldDefaultColor = SK_ColorBLACK;
const SkColor kTextfieldDefaultBackground = SK_ColorWHITE;
......@@ -100,6 +103,14 @@ SkColor NativeThemeAura::GetSystemColor(ColorId color_id) const {
case kColorId_FocusedMenuItemBackgroundColor:
return kFocusedMenuItemBackgroundColor;
// Label
case kColorId_LabelEnabledColor:
return kLabelEnabledColor;
case kColorId_LabelDisabledColor:
return kLabelDisabledColor;
case kColorId_LabelBackgroundColor:
return kLabelBackgroundColor;
// Textfield
case kColorId_TextfieldDefaultColor:
return kTextfieldDefaultColor;
......
......@@ -22,6 +22,7 @@
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkColorPriv.h"
#include "third_party/skia/include/core/SkShader.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/gdi_util.h"
#include "ui/gfx/rect.h"
......@@ -45,6 +46,10 @@ const SkColor kTextButtonHoverColor = kTextButtonEnabledColor;
const SkColor kEnabledMenuItemForegroundColor = kTextButtonEnabledColor;
const SkColor kDisabledMenuItemForegroundColor = kTextButtonDisabledColor;
const SkColor kFocusedMenuItemBackgroundColor = SkColorSetRGB(246, 249, 253);
// Label:
const SkColor kLabelEnabledColor = color_utils::GetSysSkColor(COLOR_WINDOWTEXT);
const SkColor kLabelDisabledColor = color_utils::GetSysSkColor(COLOR_GRAYTEXT);
const SkColor kLabelBackgroundColor = color_utils::GetSysSkColor(COLOR_WINDOW);
// Textfield:
const SkColor kTextfieldDefaultColor = SK_ColorBLACK;
const SkColor kTextfieldDefaultBackground = SK_ColorWHITE;
......@@ -399,6 +404,14 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id) const {
case kColorId_FocusedMenuItemBackgroundColor:
return kFocusedMenuItemBackgroundColor;
// Label
case kColorId_LabelEnabledColor:
return kLabelEnabledColor;
case kColorId_LabelDisabledColor:
return kLabelDisabledColor;
case kColorId_LabelBackgroundColor:
return kLabelBackgroundColor;
// Textfield
case kColorId_TextfieldDefaultColor:
return kTextfieldDefaultColor;
......
......@@ -21,6 +21,7 @@
#include "ui/gfx/color_utils.h"
#include "ui/gfx/font.h"
#include "ui/gfx/insets.h"
#include "ui/gfx/native_theme.h"
#include "ui/views/background.h"
namespace views {
......@@ -355,31 +356,15 @@ gfx::Font Label::GetDefaultFont() {
}
void Label::Init(const string16& text, const gfx::Font& font) {
static bool initialized = false;
static SkColor kDefaultEnabledColor;
static SkColor kDefaultDisabledColor;
static SkColor kDefaultBackgroundColor;
if (!initialized) {
#if defined(OS_WIN)
kDefaultEnabledColor = color_utils::GetSysSkColor(COLOR_WINDOWTEXT);
kDefaultDisabledColor = color_utils::GetSysSkColor(COLOR_GRAYTEXT);
kDefaultBackgroundColor = color_utils::GetSysSkColor(COLOR_WINDOW);
#else
// TODO(beng): source from theme provider.
kDefaultEnabledColor = SK_ColorBLACK;
kDefaultDisabledColor = SK_ColorGRAY;
kDefaultBackgroundColor = SK_ColorWHITE;
#endif
initialized = true;
}
contains_mouse_ = false;
font_ = font;
text_size_valid_ = false;
requested_enabled_color_ = kDefaultEnabledColor;
requested_disabled_color_ = kDefaultDisabledColor;
background_color_ = kDefaultBackgroundColor;
requested_enabled_color_ = gfx::NativeTheme::instance()->GetSystemColor(
gfx::NativeTheme::kColorId_LabelEnabledColor);
requested_disabled_color_ = gfx::NativeTheme::instance()->GetSystemColor(
gfx::NativeTheme::kColorId_LabelDisabledColor);
background_color_ = gfx::NativeTheme::instance()->GetSystemColor(
gfx::NativeTheme::kColorId_LabelBackgroundColor);
auto_color_readability_ = true;
RecalculateColors();
horiz_alignment_ = ALIGN_CENTER;
......
......@@ -8,12 +8,15 @@
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/image/image.h"
#include "ui/gfx/native_theme_aura.h"
namespace views {
// static
MenuConfig* MenuConfig::Create() {
MenuConfig* config = new MenuConfig();
config->text_color = gfx::NativeTheme::instance()->GetSystemColor(
gfx::NativeTheme::kColorId_EnabledMenuItemForegroundColor);
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
config->font = rb.GetFont(ResourceBundle::BaseFont);
config->arrow_width = rb.GetImageNamed(IDR_MENU_ARROW).ToSkBitmap()->width();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment