aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ImageFilterTest.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-04-25 09:25:15 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-25 09:25:15 -0700
commit96a04f329926099f0002f97883242793ff04f61c (patch)
tree9dbddfd003bf30f1197fa5a9b39a1e23aa1e5397 /tests/ImageFilterTest.cpp
parent9f666a14a9112c3cdec4d2a3332390cae20197df (diff)
simplify handle-affine: subclass overrides just describe their leaf behavior
added new test case (that would have failed before) of blur with a colorfilter input BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1915943002 Review URL: https://codereview.chromium.org/1915943002
Diffstat (limited to 'tests/ImageFilterTest.cpp')
-rw-r--r--tests/ImageFilterTest.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/tests/ImageFilterTest.cpp b/tests/ImageFilterTest.cpp
index 7aefd48481..952e5e5ba8 100644
--- a/tests/ImageFilterTest.cpp
+++ b/tests/ImageFilterTest.cpp
@@ -1711,11 +1711,11 @@ DEF_GPUTEST_FOR_ALL_GL_CONTEXTS(ImageFilterBlurLargeImage_Gpu, reporter, ctxInfo
* Test that colorfilterimagefilter does not require its CTM to be decomposed when it has more
* than just scale/translate, but that other filters do.
*/
-DEF_TEST(ImageFilterDecomposeCTM, reporter) {
+DEF_TEST(ImageFilterComplexCTM, reporter) {
// just need a colorfilter to exercise the corresponding imagefilter
sk_sp<SkColorFilter> cf = SkColorFilter::MakeModeFilter(SK_ColorRED, SkXfermode::kSrcATop_Mode);
- sk_sp<SkImageFilter> cfif = SkColorFilterImageFilter::Make(cf, nullptr);
- sk_sp<SkImageFilter> blif = SkBlurImageFilter::Make(3, 3, nullptr);
+ sk_sp<SkImageFilter> cfif = SkColorFilterImageFilter::Make(cf, nullptr); // can handle
+ sk_sp<SkImageFilter> blif = SkBlurImageFilter::Make(3, 3, nullptr); // cannot handle
struct {
sk_sp<SkImageFilter> fFilter;
@@ -1724,13 +1724,17 @@ DEF_TEST(ImageFilterDecomposeCTM, reporter) {
{ cfif, true },
{ SkColorFilterImageFilter::Make(cf, cfif), true },
{ SkMergeImageFilter::Make(cfif, cfif), true },
+ { SkComposeImageFilter::Make(cfif, cfif), true },
+
{ blif, false },
- { SkMergeImageFilter::Make(cfif, blif), false },
+ { SkBlurImageFilter::Make(3, 3, cfif), false },
{ SkColorFilterImageFilter::Make(cf, blif), false },
+ { SkMergeImageFilter::Make(cfif, blif), false },
+ { SkComposeImageFilter::Make(blif, cfif), false },
};
for (const auto& rec : recs) {
- const bool canHandle = rec.fFilter->canHandleAffine();
+ const bool canHandle = rec.fFilter->canHandleComplexCTM();
REPORTER_ASSERT(reporter, canHandle == rec.fExpectCanHandle);
}
}