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 @@
#include "chrome/browser/ui/libgtk2ui/gtk2_ui.h"
#include "chrome/browser/ui/libgtk2ui/gtk2_util.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/geometry/rect.h"
#include "ui/gfx/geometry/size.h"
......@@ -93,6 +94,11 @@ GdkColor SelectedURLColor(GdkColor foreground, GdkColor background) {
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
......@@ -373,6 +379,30 @@ GdkColor NativeThemeGtk2::GetSystemGdkColor(ColorId color_id) const {
return GdkAlphaBlend(win_style->text[GTK_STATE_SELECTED],
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:
NOTREACHED();
break;
......
......@@ -89,6 +89,22 @@ SkColor FallbackTheme::GetSystemColor(ColorId color_id) const {
kResultsTableHoveredText, kResultsTableHoveredBackground, 0x34);
static const SkColor kResultsTabSelectedDivider = color_utils::AlphaBlend(
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;
if (CommonThemeGetSystemColor(color_id, &color))
......@@ -205,6 +221,18 @@ SkColor FallbackTheme::GetSystemColor(ColorId color_id) const {
return kResultsTableHoveredDivider;
case kColorId_ResultsTableSelectedDivider:
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:
NOTREACHED();
......
......@@ -298,7 +298,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
kColorId_TableSelectionBackgroundFocused,
kColorId_TableSelectionBackgroundUnfocused,
kColorId_TableGroupingIndicatorColor,
// Results Tables, such as the chrome omnibox.
// Results Tables, such as the omnibox.
kColorId_ResultsTableNormalBackground,
kColorId_ResultsTableHoveredBackground,
kColorId_ResultsTableSelectedBackground,
......@@ -314,6 +314,16 @@ class NATIVE_THEME_EXPORT NativeTheme {
kColorId_ResultsTableNormalDivider,
kColorId_ResultsTableHoveredDivider,
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.
kColorId_NumColors,
......
......@@ -20,6 +20,7 @@
#include "skia/ext/platform_canvas.h"
#include "skia/ext/skia_utils_win.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/SkShader.h"
#include "ui/gfx/color_utils.h"
......@@ -607,8 +608,11 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id) const {
case kColorId_ResultsTableSelectedBackground:
return system_colors_[COLOR_HIGHLIGHT];
case kColorId_ResultsTableNormalText:
case kColorId_ResultsTableHoveredText:
return system_colors_[COLOR_WINDOWTEXT];
case kColorId_ResultsTableHoveredText:
return color_utils::GetReadableColor(
system_colors_[COLOR_WINDOWTEXT],
GetSystemColor(kColorId_ResultsTableHoveredBackground));
case kColorId_ResultsTableSelectedText:
return system_colors_[COLOR_HIGHLIGHTTEXT];
case kColorId_ResultsTableNormalDimmedText:
......@@ -641,6 +645,25 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id) const {
case kColorId_ResultsTableSelectedDivider:
return color_utils::AlphaBlend(system_colors_[COLOR_HIGHLIGHTTEXT],
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();
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