Commit 277c6078 authored by James MacLean's avatar James MacLean Committed by Commit Bot

Revert "Added access operator to color mixers."

This reverts commit 1d267524.

Reason for revert: Suespect that this broke the build on Windows.

Original change's description:
> Added access operator to color mixers.
> 
> Added the access operator to the color mixer class, updated existing
> code and tests. Changed AddMixer() to return a mixer by reference.
> 
> Bug: 1887666
> Change-Id: I2ae180f77d73e3ce4567d061b5505d920677c450
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1910521
> Commit-Queue: Peter Kasting <pkasting@chromium.org>
> Reviewed-by: Peter Kasting <pkasting@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#714528}

TBR=pkasting@chromium.org,tluk@chromium.org

Change-Id: I7eae3b7e1824b31adaa04c5e998c883da05eea96
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1887666
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1911709Reviewed-by: default avatarJames MacLean <wjmaclean@chromium.org>
Commit-Queue: James MacLean <wjmaclean@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714543}
parent 18117437
......@@ -1035,7 +1035,7 @@ void BrowserThemePack::AddCustomThemeColorMixers(
}
if (theme_colors.empty())
return;
provider->AddMixer().AddSet({kColorSetCustomTheme, std::move(theme_colors)});
provider->AddMixer()->AddSet({kColorSetCustomTheme, std::move(theme_colors)});
}
// private:
......
......@@ -741,10 +741,10 @@ TEST_F(BrowserThemePackTest, TestCreateColorMixersOmniboxNoValues) {
// Tests to make sure that existing colors within the color provider are not
// overwritten or lost in the absence of any user provided theme values.
ui::ColorProvider provider;
provider.AddMixer().AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
provider.AddMixer()->AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
theme_pack().AddCustomThemeColorMixers(&provider);
EXPECT_EQ(SK_ColorRED, provider.GetColor(kColorToolbar));
EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorOmniboxText));
......@@ -755,10 +755,10 @@ TEST_F(BrowserThemePackTest, TestCreateColorMixersOmniboxPartialValues) {
// Tests to make sure that only provided theme values are replicated into the
// color provider.
ui::ColorProvider provider;
provider.AddMixer().AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
provider.AddMixer()->AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
std::string color_json = R"({ "toolbar": [0, 20, 40],
"omnibox_text": [60, 80, 100] })";
LoadColorJSON(color_json);
......@@ -772,10 +772,10 @@ TEST_F(BrowserThemePackTest, TestCreateColorMixersOmniboxAllValues) {
// Tests to make sure that all available colors are properly loaded into the
// color provider.
ui::ColorProvider provider;
provider.AddMixer().AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
provider.AddMixer()->AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
std::string color_json = R"({ "toolbar": [0, 20, 40],
"omnibox_text": [60, 80, 100],
"omnibox_background": [120, 140, 160] })";
......
......@@ -13,47 +13,55 @@
#include "ui/gfx/color_utils.h"
void AddOmniboxColorMixer(ui::ColorProvider* provider, bool high_contrast) {
ui::ColorMixer& mixer = provider->AddMixer();
ui::ColorMixer* mixer = provider->AddMixer();
const float minimum_contrast =
high_contrast ? 6.0f : color_utils::kMinimumReadableContrastRatio;
// Omnibox background colors.
mixer[kColorOmniboxBackground].AddTransform(ui::GetResultingPaintColor(
ui::FromTransformInput(), ui::FromInputColor(kColorToolbar)));
mixer[kColorOmniboxBackgroundHovered].AddTransform(ui::BlendTowardMaxContrast(
ui::FromResultColor(kColorOmniboxBackground), 0x0A));
mixer->AddRecipe(kColorOmniboxBackground)
.AddTransform(ui::GetResultingPaintColor(
ui::FromTransformInput(), ui::FromInputColor(kColorToolbar)));
mixer->AddRecipe(kColorOmniboxBackgroundHovered)
.AddTransform(ui::BlendTowardMaxContrast(
ui::FromResultColor(kColorOmniboxBackground), 0x0A));
// Omnibox text colors.
mixer[kColorOmniboxText].AddTransform(ui::GetResultingPaintColor(
ui::FromTransformInput(), ui::FromResultColor(kColorOmniboxBackground)));
mixer->AddRecipe(kColorOmniboxText)
.AddTransform(ui::GetResultingPaintColor(
ui::FromTransformInput(),
ui::FromResultColor(kColorOmniboxBackground)));
{
auto& selected_text = mixer[kColorOmniboxResultsTextSelected].AddTransform(
ui::FromResultColor(kColorOmniboxText));
auto& selected_text =
mixer->AddRecipe(kColorOmniboxResultsTextSelected)
.AddTransform(ui::FromResultColor(kColorOmniboxText));
if (high_contrast)
selected_text.AddTransform(ui::ContrastInvert(ui::FromTransformInput()));
}
mixer[kColorOmniboxSelectedKeyword].AddTransform(
ui::SelectBasedOnDarkInput(ui::FromResultColor(kColorOmniboxBackground),
ui::FromColor(gfx::kGoogleGrey100),
ui::FromResultColor(kColorOmniboxResultsUrl)));
mixer->AddRecipe(kColorOmniboxSelectedKeyword)
.AddTransform(ui::SelectBasedOnDarkInput(
ui::FromResultColor(kColorOmniboxBackground),
ui::FromColor(gfx::kGoogleGrey100),
ui::FromResultColor(kColorOmniboxResultsUrl)));
// Bubble outline colors.
mixer[kColorOmniboxBubbleOutline].AddTransform(ui::SelectBasedOnDarkInput(
ui::FromResultColor(kColorOmniboxBackground),
ui::FromColor(gfx::kGoogleGrey100),
ui::FromColor(SkColorSetA(gfx::kGoogleGrey900, 0x24))));
mixer[kColorOmniboxBubbleOutlineExperimentalKeywordMode].AddTransform(
ui::FromResultColor(kColorOmniboxSelectedKeyword));
mixer->AddRecipe(kColorOmniboxBubbleOutline)
.AddTransform(ui::SelectBasedOnDarkInput(
ui::FromResultColor(kColorOmniboxBackground),
ui::FromColor(gfx::kGoogleGrey100),
ui::FromColor(SkColorSetA(gfx::kGoogleGrey900, 0x24))));
mixer->AddRecipe(kColorOmniboxBubbleOutlineExperimentalKeywordMode)
.AddTransform(ui::FromResultColor(kColorOmniboxSelectedKeyword));
// Results background colors.
mixer[kColorOmniboxResultsBackground].AddTransform(
ui::GetColorWithMaxContrast(ui::FromResultColor(kColorOmniboxText)));
mixer[kColorOmniboxResultsBackgroundHovered].AddTransform(
ui::BlendTowardMaxContrast(
mixer->AddRecipe(kColorOmniboxResultsBackground)
.AddTransform(
ui::GetColorWithMaxContrast(ui::FromResultColor(kColorOmniboxText)));
mixer->AddRecipe(kColorOmniboxResultsBackgroundHovered)
.AddTransform(ui::BlendTowardMaxContrast(
ui::FromResultColor(kColorOmniboxResultsBackground),
gfx::kGoogleGreyAlpha200));
mixer[kColorOmniboxResultsBackgroundSelected].AddTransform(
ui::BlendTowardMaxContrast(
mixer->AddRecipe(kColorOmniboxResultsBackgroundSelected)
.AddTransform(ui::BlendTowardMaxContrast(
ui::GetColorWithMaxContrast(
ui::FromResultColor(kColorOmniboxResultsTextSelected)),
gfx::kGoogleGreyAlpha300));
......@@ -66,11 +74,12 @@ void AddOmniboxColorMixer(ui::ColorProvider* provider, bool high_contrast) {
ui::DeriveDefaultIconColor(ui::FromResultColor(text_id)),
ui::FromResultColor(background_id), base::nullopt, minimum_contrast);
};
mixer[kColorOmniboxResultsIcon].AddTransform(
results_icon(kColorOmniboxText, kColorOmniboxResultsBackground));
mixer[kColorOmniboxResultsIconSelected].AddTransform(
results_icon(kColorOmniboxResultsTextSelected,
kColorOmniboxResultsBackgroundSelected));
mixer->AddRecipe(kColorOmniboxResultsIcon)
.AddTransform(
results_icon(kColorOmniboxText, kColorOmniboxResultsBackground));
mixer->AddRecipe(kColorOmniboxResultsIconSelected)
.AddTransform(results_icon(kColorOmniboxResultsTextSelected,
kColorOmniboxResultsBackgroundSelected));
}
// Dimmed text colors.
......@@ -86,14 +95,16 @@ void AddOmniboxColorMixer(ui::ColorProvider* provider, bool high_contrast) {
base::nullopt, minimum_contrast),
minimum_contrast);
};
mixer[kColorOmniboxResultsTextDimmed].AddTransform(
blend_with_clamped_contrast(kColorOmniboxText,
kColorOmniboxResultsBackgroundHovered));
mixer[kColorOmniboxResultsTextDimmedSelected].AddTransform(
blend_with_clamped_contrast(kColorOmniboxResultsTextSelected,
kColorOmniboxResultsBackgroundSelected));
mixer[kColorOmniboxTextDimmed].AddTransform(blend_with_clamped_contrast(
kColorOmniboxText, kColorOmniboxBackgroundHovered));
mixer->AddRecipe(kColorOmniboxResultsTextDimmed)
.AddTransform(blend_with_clamped_contrast(
kColorOmniboxText, kColorOmniboxResultsBackgroundHovered));
mixer->AddRecipe(kColorOmniboxResultsTextDimmedSelected)
.AddTransform(blend_with_clamped_contrast(
kColorOmniboxResultsTextSelected,
kColorOmniboxResultsBackgroundSelected));
mixer->AddRecipe(kColorOmniboxTextDimmed)
.AddTransform(blend_with_clamped_contrast(
kColorOmniboxText, kColorOmniboxBackgroundHovered));
}
// Results URL colors.
......@@ -106,10 +117,10 @@ void AddOmniboxColorMixer(ui::ColorProvider* provider, bool high_contrast) {
ui::FromColor(gfx::kGoogleBlue900)),
minimum_contrast);
};
mixer[kColorOmniboxResultsUrl].AddTransform(
url_color(kColorOmniboxResultsBackgroundHovered));
mixer[kColorOmniboxResultsUrlSelected].AddTransform(
url_color(kColorOmniboxResultsBackgroundSelected));
mixer->AddRecipe(kColorOmniboxResultsUrl)
.AddTransform(url_color(kColorOmniboxResultsBackgroundHovered));
mixer->AddRecipe(kColorOmniboxResultsUrlSelected)
.AddTransform(url_color(kColorOmniboxResultsBackgroundSelected));
}
// Security chip colors.
......@@ -125,11 +136,12 @@ void AddOmniboxColorMixer(ui::ColorProvider* provider, bool high_contrast) {
ui::FromResultColor(kColorOmniboxBackgroundHovered),
base::nullopt, minimum_contrast));
};
mixer[kColorOmniboxSecurityChipDangerous].AddTransform(
security_chip_color(ui::FromColor(gfx::kGoogleRed600)));
mixer[kColorOmniboxSecurityChipSecure].AddTransform(security_chip_color(
ui::DeriveDefaultIconColor(ui::FromResultColor(kColorOmniboxText))));
mixer->AddRecipe(kColorOmniboxSecurityChipDangerous)
.AddTransform(security_chip_color(ui::FromColor(gfx::kGoogleRed600)));
mixer->AddRecipe(kColorOmniboxSecurityChipSecure)
.AddTransform(security_chip_color(ui::DeriveDefaultIconColor(
ui::FromResultColor(kColorOmniboxText))));
}
mixer[kColorOmniboxSecurityChipDefault].AddTransform(
ui::FromResultColor(kColorOmniboxSecurityChipSecure));
mixer->AddRecipe(kColorOmniboxSecurityChipDefault)
.AddTransform(ui::FromResultColor(kColorOmniboxSecurityChipSecure));
}
......@@ -4,6 +4,8 @@
#include "ui/color/color_mixer.h"
#include "base/containers/adapters.h"
#include "base/stl_util.h"
#include "ui/color/color_recipe.h"
#include "ui/gfx/color_palette.h"
......@@ -18,16 +20,17 @@ ColorMixer& ColorMixer::operator=(ColorMixer&&) noexcept = default;
ColorMixer::~ColorMixer() = default;
ColorRecipe& ColorMixer::operator[](ColorId id) {
DCHECK_COLOR_ID_VALID(id);
return recipes_[id];
}
void ColorMixer::AddSet(ColorSet&& set) {
DCHECK(FindSetWithId(set.id) == sets_.cend());
sets_.push_front(std::move(set));
}
ColorRecipe& ColorMixer::AddRecipe(ColorId id) {
DCHECK_COLOR_ID_VALID(id);
DCHECK(!base::Contains(recipes_, id));
return recipes_[id];
}
SkColor ColorMixer::GetInputColor(ColorId id) const {
DCHECK_COLOR_ID_VALID(id);
for (const auto& set : sets_) {
......
......@@ -39,14 +39,16 @@ class COMPONENT_EXPORT(COLOR) ColorMixer {
ColorMixer& operator=(ColorMixer&&) noexcept;
~ColorMixer();
// Adds a recipe for |id| if it does not exist.
ColorRecipe& operator[](ColorId id);
// Adds |set| to |sets_|. |set| must not have the same ID as any previously
// added sets, though it may contain colors with the same IDs as colors in
// those sets; in such cases, the last-added set takes priority.
void AddSet(ColorSet&& set);
// Adds a recipe for |id|, which must not already have an existing recipe.
// Returns a non-const ref to allow chaining calls to
// ColorRecipe::AddTransform().
ColorRecipe& AddRecipe(ColorId id);
// Returns the input color for |id|. First searches all |sets_| in reverse
// order; if not found, asks the previous mixer for the result color. If
// there is no previous mixer, returns gfx::kPlaceholderColor.
......
......@@ -27,10 +27,10 @@ TEST(ColorMixerTest, AddSet) {
EXPECT_EQ(SK_ColorGREEN, mixer.GetResultColor(kColorTest0));
}
// Tests that the recipe returned by operator[] is respected by the mixer.
TEST(ColorMixerTest, AccessOperator) {
// Tests that the recipe returned by AddRecipe() is respected by the mixer.
TEST(ColorMixerTest, AddRecipe) {
ColorMixer mixer;
mixer[kColorTest0].AddTransform(FromColor(SK_ColorGREEN));
mixer.AddRecipe(kColorTest0).AddTransform(FromColor(SK_ColorGREEN));
EXPECT_EQ(SK_ColorGREEN, mixer.GetResultColor(kColorTest0));
}
......@@ -86,8 +86,8 @@ TEST(ColorMixerTest, GetInputColorPreviousMixer) {
TEST(ColorMixerTest, GetInputColorIgnoresRecipe) {
ColorMixer mixer;
mixer.AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
mixer[kColorTest0].AddTransform(
GetColorWithMaxContrast(FromTransformInput()));
mixer.AddRecipe(kColorTest0)
.AddTransform(GetColorWithMaxContrast(FromTransformInput()));
EXPECT_EQ(SK_ColorGREEN, mixer.GetInputColor(kColorTest0));
}
......@@ -97,8 +97,8 @@ TEST(ColorMixerTest, GetInputColorIgnoresRecipe) {
TEST(ColorMixerTest, GetInputColorRespectsRecipePreviousMixer) {
ColorMixer mixer0;
mixer0.AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
mixer0[kColorTest0].AddTransform(
GetColorWithMaxContrast(FromTransformInput()));
mixer0.AddRecipe(kColorTest0)
.AddTransform(GetColorWithMaxContrast(FromTransformInput()));
ColorMixer mixer1(&mixer0);
mixer1.AddSet({kColorSetTest1, {{kColorTest1, SK_ColorRED}}});
EXPECT_EQ(color_utils::GetColorWithMaxContrast(SK_ColorGREEN),
......@@ -169,8 +169,8 @@ TEST(ColorMixerTest, GetOriginalColorFromSetPreviousMixer) {
TEST(ColorMixerTest, GetOriginalColorFromSetIgnoresRecipe) {
ColorMixer mixer;
mixer.AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
mixer[kColorTest0].AddTransform(
GetColorWithMaxContrast(FromTransformInput()));
mixer.AddRecipe(kColorTest0)
.AddTransform(GetColorWithMaxContrast(FromTransformInput()));
EXPECT_EQ(SK_ColorGREEN,
mixer.GetOriginalColorFromSet(kColorTest0, kColorSetTest0));
}
......@@ -181,8 +181,8 @@ TEST(ColorMixerTest, GetOriginalColorFromSetIgnoresRecipe) {
TEST(ColorMixerTest, GetOriginalColorFromSetIgnoresRecipePreviousMixer) {
ColorMixer mixer0;
mixer0.AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
mixer0[kColorTest0].AddTransform(
GetColorWithMaxContrast(FromTransformInput()));
mixer0.AddRecipe(kColorTest0)
.AddTransform(GetColorWithMaxContrast(FromTransformInput()));
ColorMixer mixer1(&mixer0);
mixer1.AddSet({kColorSetTest1, {{kColorTest1, SK_ColorRED}}});
EXPECT_EQ(SK_ColorGREEN,
......@@ -207,9 +207,9 @@ TEST(ColorMixerTest, GetResultColorNoRecipe) {
// initial value for its requested color.
TEST(ColorMixerTest, GetResultColorNoSet) {
ColorMixer mixer;
mixer[kColorTest0].AddTransform(FromColor(SK_ColorGREEN));
mixer[kColorTest1].AddTransform(
GetColorWithMaxContrast(FromTransformInput()));
mixer.AddRecipe(kColorTest0).AddTransform(FromColor(SK_ColorGREEN));
mixer.AddRecipe(kColorTest1)
.AddTransform(GetColorWithMaxContrast(FromTransformInput()));
EXPECT_EQ(SK_ColorGREEN, mixer.GetResultColor(kColorTest0));
EXPECT_NE(gfx::kPlaceholderColor, mixer.GetResultColor(kColorTest1));
}
......@@ -220,8 +220,8 @@ TEST(ColorMixerTest, GetResultColorIgnoresSet) {
ColorMixer mixer;
mixer.AddSet({kColorSetTest0,
{{kColorTest0, SK_ColorWHITE}, {kColorTest1, SK_ColorBLACK}}});
mixer[kColorTest0].AddTransform(FromColor(SK_ColorGREEN));
mixer[kColorTest1].AddTransform(FromColor(SK_ColorGREEN));
mixer.AddRecipe(kColorTest0).AddTransform(FromColor(SK_ColorGREEN));
mixer.AddRecipe(kColorTest1).AddTransform(FromColor(SK_ColorGREEN));
EXPECT_EQ(SK_ColorGREEN, mixer.GetResultColor(kColorTest0));
EXPECT_EQ(SK_ColorGREEN, mixer.GetResultColor(kColorTest1));
}
......@@ -231,12 +231,14 @@ TEST(ColorMixerTest, GetResultColorIgnoresSet) {
TEST(ColorMixerTest, GetResultColorChained) {
ColorMixer mixer;
mixer.AddSet({kColorSetTest0, {{kColorTest1, SK_ColorWHITE}}});
mixer[kColorTest0].AddTransform(FromColor(gfx::kGoogleBlue050));
mixer[kColorTest1].AddTransform(BlendTowardMaxContrast(
GetColorWithMaxContrast(FromTransformInput()), 0x29));
mixer[kColorTest2].AddTransform(BlendForMinContrast(
FromColor(gfx::kGoogleBlue500), FromResultColor(kColorTest1),
FromResultColor(kColorTest0)));
mixer.AddRecipe(kColorTest0).AddTransform(FromColor(gfx::kGoogleBlue050));
mixer.AddRecipe(kColorTest1)
.AddTransform(BlendTowardMaxContrast(
GetColorWithMaxContrast(FromTransformInput()), 0x29));
mixer.AddRecipe(kColorTest2)
.AddTransform(BlendForMinContrast(FromColor(gfx::kGoogleBlue500),
FromResultColor(kColorTest1),
FromResultColor(kColorTest0)));
EXPECT_EQ(SkColorSetRGB(0x89, 0xB3, 0xF8), mixer.GetResultColor(kColorTest2));
}
......
......@@ -11,7 +11,7 @@
namespace ui {
ColorMixer& ColorProvider::AddMixer() {
ColorMixer* ColorProvider::AddMixer() {
// Adding a mixer could change any of the result colors.
cache_.clear();
......@@ -20,7 +20,7 @@ ColorMixer& ColorProvider::AddMixer() {
// mixer for its result, and trust mixers to query each other back up the
// chain as needed.
mixers_.emplace_front(mixers_.empty() ? nullptr : &mixers_.front());
return mixers_.front();
return &mixers_.front();
}
SkColor ColorProvider::GetColor(ColorId id, ColorVariant variant) const {
......
......@@ -30,9 +30,9 @@ class COMPONENT_EXPORT(COLOR) ColorProvider {
ColorProvider& operator=(const ColorProvider&) = delete;
~ColorProvider();
// Adds a mixer to the end of the current color pipeline. Returns a reference
// Adds a mixer to the end of the current color pipeline. Returns a pointer
// to the added mixer so callers can subsequently add sets and/or recipes.
ColorMixer& AddMixer();
ColorMixer* AddMixer();
// Returns the result color for |id| by applying the effects of each mixer in
// order. Returns gfx::kPlaceholderColor if no mixer knows how to construct
......
......@@ -11,6 +11,14 @@
namespace ui {
namespace {
// Tests that AddMixer() returns non-null pointers, implying addition was
// successful. (Other tests below will verify the mixers have an effect.)
TEST(ColorProviderTest, AddMixer) {
ColorProvider provider;
EXPECT_NE(nullptr, provider.AddMixer());
EXPECT_NE(nullptr, provider.AddMixer());
}
// Tests that when there are no mixers, GetColor() returns a placeholder value.
TEST(ColorProviderTest, GetColorNoMixers) {
EXPECT_EQ(gfx::kPlaceholderColor, ColorProvider().GetColor(kColorTest0));
......@@ -20,7 +28,7 @@ TEST(ColorProviderTest, GetColorNoMixers) {
// possible.
TEST(ColorProviderTest, SingleMixer) {
ColorProvider provider;
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0));
EXPECT_EQ(gfx::kPlaceholderColor, provider.GetColor(kColorTest1));
}
......@@ -29,8 +37,8 @@ TEST(ColorProviderTest, SingleMixer) {
// use of both.
TEST(ColorProviderTest, NonOverlappingMixers) {
ColorProvider provider;
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer().AddSet({kColorSetTest1, {{kColorTest1, SK_ColorRED}}});
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer()->AddSet({kColorSetTest1, {{kColorTest1, SK_ColorRED}}});
EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0));
EXPECT_EQ(SK_ColorRED, provider.GetColor(kColorTest1));
}
......@@ -39,8 +47,8 @@ TEST(ColorProviderTest, NonOverlappingMixers) {
// added takes priority.
TEST(ColorProviderTest, OverlappingMixers) {
ColorProvider provider;
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorRED}}});
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorRED}}});
EXPECT_EQ(SK_ColorRED, provider.GetColor(kColorTest0));
}
......@@ -48,10 +56,10 @@ TEST(ColorProviderTest, OverlappingMixers) {
// This attempts to verify that nothing is badly wrong with color caching.
TEST(ColorProviderTest, Caching) {
ColorProvider provider;
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0));
EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0));
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorRED}}});
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorRED}}});
EXPECT_EQ(SK_ColorRED, provider.GetColor(kColorTest0));
}
......
......@@ -156,7 +156,7 @@ TEST(ColorTransformTest, FromResultColor) {
ColorMixer mixer;
mixer.AddSet({kColorSetTest0,
{{kColorTest0, SK_ColorGREEN}, {kColorTest1, kTest1Color}}});
mixer[kColorTest0].AddTransform(FromInputColor(kColorTest1));
mixer.AddRecipe(kColorTest0).AddTransform(FromInputColor(kColorTest1));
const auto verify_color = [&](SkColor input) {
EXPECT_EQ(kTest1Color, transform.Run(input, mixer));
};
......
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