Commit 362e17dd authored by dschuyler's avatar dschuyler Committed by Commit bot

[AiS] adding positive and negative theme values.

This is a step toward having color text for things like an increase in stock price (positive) and a decrease in stock value (negative).  An example would be the text shown in Answers in Suggest.

This CL is groundwork for (and separated out from) CL 795933009.

BUG=455418

Review URL: https://codereview.chromium.org/1020623002

Cr-Commit-Position: refs/heads/master@{#321586}
parent 8900cf94
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "chrome/browser/ui/libgtk2ui/gtk2_ui.h" #include "chrome/browser/ui/libgtk2ui/gtk2_ui.h"
#include "chrome/browser/ui/libgtk2ui/gtk2_util.h" #include "chrome/browser/ui/libgtk2ui/gtk2_util.h"
#include "chrome/browser/ui/libgtk2ui/skia_utils_gtk2.h" #include "chrome/browser/ui/libgtk2ui/skia_utils_gtk2.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/color_utils.h" #include "ui/gfx/color_utils.h"
#include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/size.h" #include "ui/gfx/geometry/size.h"
...@@ -93,6 +94,11 @@ GdkColor SelectedURLColor(GdkColor foreground, GdkColor background) { ...@@ -93,6 +94,11 @@ GdkColor SelectedURLColor(GdkColor foreground, GdkColor background) {
return libgtk2ui::SkColorToGdkColor(color_utils::HSLToSkColor(output, 255)); return libgtk2ui::SkColorToGdkColor(color_utils::HSLToSkColor(output, 255));
} }
GdkColor GetReadableColor(SkColor color, const GdkColor& background) {
return libgtk2ui::SkColorToGdkColor(color_utils::GetReadableColor(
color, libgtk2ui::GdkColorToSkColor(background)));
}
} // namespace } // namespace
...@@ -373,6 +379,30 @@ GdkColor NativeThemeGtk2::GetSystemGdkColor(ColorId color_id) const { ...@@ -373,6 +379,30 @@ GdkColor NativeThemeGtk2::GetSystemGdkColor(ColorId color_id) const {
return GdkAlphaBlend(win_style->text[GTK_STATE_SELECTED], return GdkAlphaBlend(win_style->text[GTK_STATE_SELECTED],
win_style->bg[GTK_STATE_SELECTED], 0x34); win_style->bg[GTK_STATE_SELECTED], 0x34);
} }
case kColorId_ResultsTablePositiveText: {
return GetReadableColor(SK_ColorGREEN,
GetEntryStyle()->base[GTK_STATE_NORMAL]);
}
case kColorId_ResultsTablePositiveHoveredText: {
return GetReadableColor(SK_ColorGREEN,
GetEntryStyle()->base[GTK_STATE_PRELIGHT]);
}
case kColorId_ResultsTablePositiveSelectedText: {
return GetReadableColor(SK_ColorGREEN,
GetEntryStyle()->base[GTK_STATE_SELECTED]);
}
case kColorId_ResultsTableNegativeText: {
return GetReadableColor(SK_ColorRED,
GetEntryStyle()->base[GTK_STATE_NORMAL]);
}
case kColorId_ResultsTableNegativeHoveredText: {
return GetReadableColor(SK_ColorRED,
GetEntryStyle()->base[GTK_STATE_PRELIGHT]);
}
case kColorId_ResultsTableNegativeSelectedText: {
return GetReadableColor(SK_ColorRED,
GetEntryStyle()->base[GTK_STATE_SELECTED]);
}
case kColorId_NumColors: case kColorId_NumColors:
NOTREACHED(); NOTREACHED();
break; break;
......
...@@ -89,6 +89,22 @@ SkColor FallbackTheme::GetSystemColor(ColorId color_id) const { ...@@ -89,6 +89,22 @@ SkColor FallbackTheme::GetSystemColor(ColorId color_id) const {
kResultsTableHoveredText, kResultsTableHoveredBackground, 0x34); kResultsTableHoveredText, kResultsTableHoveredBackground, 0x34);
static const SkColor kResultsTabSelectedDivider = color_utils::AlphaBlend( static const SkColor kResultsTabSelectedDivider = color_utils::AlphaBlend(
kResultsTableSelectedText, kTextfieldSelectionBackgroundFocused, 0x34); kResultsTableSelectedText, kTextfieldSelectionBackgroundFocused, 0x34);
static const SkColor kResultsTablePositiveText =
color_utils::AlphaBlend(SK_ColorGREEN, kTextfieldDefaultBackground, 0xDD);
static const SkColor kResultsTablePositiveHoveredText =
color_utils::AlphaBlend(SK_ColorGREEN, kResultsTableHoveredBackground,
0xDD);
static const SkColor kResultsTablePositiveSelectedText =
color_utils::AlphaBlend(SK_ColorGREEN,
kTextfieldSelectionBackgroundFocused, 0xDD);
static const SkColor kResultsTableNegativeText =
color_utils::AlphaBlend(SK_ColorRED, kTextfieldDefaultBackground, 0xDD);
static const SkColor kResultsTableNegativeHoveredText =
color_utils::AlphaBlend(SK_ColorRED, kResultsTableHoveredBackground,
0xDD);
static const SkColor kResultsTableNegativeSelectedText =
color_utils::AlphaBlend(SK_ColorRED, kTextfieldSelectionBackgroundFocused,
0xDD);
SkColor color; SkColor color;
if (CommonThemeGetSystemColor(color_id, &color)) if (CommonThemeGetSystemColor(color_id, &color))
...@@ -205,6 +221,18 @@ SkColor FallbackTheme::GetSystemColor(ColorId color_id) const { ...@@ -205,6 +221,18 @@ SkColor FallbackTheme::GetSystemColor(ColorId color_id) const {
return kResultsTableHoveredDivider; return kResultsTableHoveredDivider;
case kColorId_ResultsTableSelectedDivider: case kColorId_ResultsTableSelectedDivider:
return kResultsTabSelectedDivider; return kResultsTabSelectedDivider;
case kColorId_ResultsTablePositiveText:
return kResultsTablePositiveText;
case kColorId_ResultsTablePositiveHoveredText:
return kResultsTablePositiveHoveredText;
case kColorId_ResultsTablePositiveSelectedText:
return kResultsTablePositiveSelectedText;
case kColorId_ResultsTableNegativeText:
return kResultsTableNegativeText;
case kColorId_ResultsTableNegativeHoveredText:
return kResultsTableNegativeHoveredText;
case kColorId_ResultsTableNegativeSelectedText:
return kResultsTableNegativeSelectedText;
default: default:
NOTREACHED(); NOTREACHED();
......
...@@ -298,7 +298,7 @@ class NATIVE_THEME_EXPORT NativeTheme { ...@@ -298,7 +298,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
kColorId_TableSelectionBackgroundFocused, kColorId_TableSelectionBackgroundFocused,
kColorId_TableSelectionBackgroundUnfocused, kColorId_TableSelectionBackgroundUnfocused,
kColorId_TableGroupingIndicatorColor, kColorId_TableGroupingIndicatorColor,
// Results Tables, such as the chrome omnibox. // Results Tables, such as the omnibox.
kColorId_ResultsTableNormalBackground, kColorId_ResultsTableNormalBackground,
kColorId_ResultsTableHoveredBackground, kColorId_ResultsTableHoveredBackground,
kColorId_ResultsTableSelectedBackground, kColorId_ResultsTableSelectedBackground,
...@@ -314,6 +314,16 @@ class NATIVE_THEME_EXPORT NativeTheme { ...@@ -314,6 +314,16 @@ class NATIVE_THEME_EXPORT NativeTheme {
kColorId_ResultsTableNormalDivider, kColorId_ResultsTableNormalDivider,
kColorId_ResultsTableHoveredDivider, kColorId_ResultsTableHoveredDivider,
kColorId_ResultsTableSelectedDivider, kColorId_ResultsTableSelectedDivider,
// Positive text refers to good (often rendered in green) text, such as the
// stock value went up.
kColorId_ResultsTablePositiveText,
kColorId_ResultsTablePositiveHoveredText,
kColorId_ResultsTablePositiveSelectedText,
// Negative text refers to something alarming (often rendered in red), such
// as the stock value went down.
kColorId_ResultsTableNegativeText,
kColorId_ResultsTableNegativeHoveredText,
kColorId_ResultsTableNegativeSelectedText,
// TODO(benrg): move other hardcoded colors here. // TODO(benrg): move other hardcoded colors here.
kColorId_NumColors, kColorId_NumColors,
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "skia/ext/platform_canvas.h" #include "skia/ext/platform_canvas.h"
#include "skia/ext/skia_utils_win.h" #include "skia/ext/skia_utils_win.h"
#include "third_party/skia/include/core/SkCanvas.h" #include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/core/SkColorPriv.h" #include "third_party/skia/include/core/SkColorPriv.h"
#include "third_party/skia/include/core/SkShader.h" #include "third_party/skia/include/core/SkShader.h"
#include "ui/gfx/color_utils.h" #include "ui/gfx/color_utils.h"
...@@ -607,8 +608,11 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id) const { ...@@ -607,8 +608,11 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id) const {
case kColorId_ResultsTableSelectedBackground: case kColorId_ResultsTableSelectedBackground:
return system_colors_[COLOR_HIGHLIGHT]; return system_colors_[COLOR_HIGHLIGHT];
case kColorId_ResultsTableNormalText: case kColorId_ResultsTableNormalText:
case kColorId_ResultsTableHoveredText:
return system_colors_[COLOR_WINDOWTEXT]; return system_colors_[COLOR_WINDOWTEXT];
case kColorId_ResultsTableHoveredText:
return color_utils::GetReadableColor(
system_colors_[COLOR_WINDOWTEXT],
GetSystemColor(kColorId_ResultsTableHoveredBackground));
case kColorId_ResultsTableSelectedText: case kColorId_ResultsTableSelectedText:
return system_colors_[COLOR_HIGHLIGHTTEXT]; return system_colors_[COLOR_HIGHLIGHTTEXT];
case kColorId_ResultsTableNormalDimmedText: case kColorId_ResultsTableNormalDimmedText:
...@@ -641,6 +645,25 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id) const { ...@@ -641,6 +645,25 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id) const {
case kColorId_ResultsTableSelectedDivider: case kColorId_ResultsTableSelectedDivider:
return color_utils::AlphaBlend(system_colors_[COLOR_HIGHLIGHTTEXT], return color_utils::AlphaBlend(system_colors_[COLOR_HIGHLIGHTTEXT],
system_colors_[COLOR_HIGHLIGHT], 0x34); system_colors_[COLOR_HIGHLIGHT], 0x34);
case kColorId_ResultsTablePositiveText:
return color_utils::GetReadableColor(SK_ColorGREEN,
system_colors_[COLOR_WINDOW]);
case kColorId_ResultsTablePositiveHoveredText:
return color_utils::GetReadableColor(
SK_ColorGREEN,
GetSystemColor(kColorId_ResultsTableHoveredBackground));
case kColorId_ResultsTablePositiveSelectedText:
return color_utils::GetReadableColor(SK_ColorGREEN,
system_colors_[COLOR_HIGHLIGHT]);
case kColorId_ResultsTableNegativeText:
return color_utils::GetReadableColor(SK_ColorRED,
system_colors_[COLOR_WINDOW]);
case kColorId_ResultsTableNegativeHoveredText:
return color_utils::GetReadableColor(
SK_ColorRED, GetSystemColor(kColorId_ResultsTableHoveredBackground));
case kColorId_ResultsTableNegativeSelectedText:
return color_utils::GetReadableColor(SK_ColorRED,
system_colors_[COLOR_HIGHLIGHT]);
} }
NOTREACHED(); NOTREACHED();
return kInvalidColorIdColor; return kInvalidColorIdColor;
......
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