diff options
author | reed <reed@google.com> | 2016-04-25 09:25:15 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-25 09:25:15 -0700 |
commit | 96a04f329926099f0002f97883242793ff04f61c (patch) | |
tree | 9dbddfd003bf30f1197fa5a9b39a1e23aa1e5397 /tests/ImageFilterTest.cpp | |
parent | 9f666a14a9112c3cdec4d2a3332390cae20197df (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.cpp | 14 |
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); } } |