diff options
author | senorblanco <senorblanco@chromium.org> | 2016-02-02 18:44:15 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-02 18:44:16 -0800 |
commit | afc7cce5d68663934128d76963cd501f771d71de (patch) | |
tree | b13153dfaeb926a130a946ccf7010b8253f06518 /tests/AAClipTest.cpp | |
parent | 67e8bd207261ed4a4b30c4e488a6a2b6baf04d7a (diff) |
Fix for rounded-rect clips with filters.
Don't use the base canvas size to limit raster of complex clips, since
the top canvas size may actually be larger (e.g., a blur filter which
expands the clip bounds to accommodate filter margins). Use the top
canvas bounds instead.
BUG=skia:4879,471212
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657333002
Review URL: https://codereview.chromium.org/1657333002
Diffstat (limited to 'tests/AAClipTest.cpp')
-rw-r--r-- | tests/AAClipTest.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/tests/AAClipTest.cpp b/tests/AAClipTest.cpp index 1ee6358a6e..faf45ed70b 100644 --- a/tests/AAClipTest.cpp +++ b/tests/AAClipTest.cpp @@ -370,7 +370,7 @@ static bool operator==(const SkRasterClip& a, const SkRasterClip& b) { static void did_dx_affect(skiatest::Reporter* reporter, const SkScalar dx[], size_t count, bool changed) { - const SkISize baseSize = SkISize::Make(10, 10); + const SkIRect baseBounds = SkIRect::MakeXYWH(0, 0, 10, 10); SkIRect ir = { 0, 0, 10, 10 }; for (size_t i = 0; i < count; ++i) { @@ -381,11 +381,11 @@ static void did_dx_affect(skiatest::Reporter* reporter, const SkScalar dx[], SkRasterClip rc1(ir); SkRasterClip rc2(ir); - rc0.op(r, baseSize, SkRegion::kIntersect_Op, false); + rc0.op(r, baseBounds, SkRegion::kIntersect_Op, false); r.offset(dx[i], 0); - rc1.op(r, baseSize, SkRegion::kIntersect_Op, true); + rc1.op(r, baseBounds, SkRegion::kIntersect_Op, true); r.offset(-2*dx[i], 0); - rc2.op(r, baseSize, SkRegion::kIntersect_Op, true); + rc2.op(r, baseBounds, SkRegion::kIntersect_Op, true); REPORTER_ASSERT(reporter, changed != (rc0 == rc1)); REPORTER_ASSERT(reporter, changed != (rc0 == rc2)); @@ -431,7 +431,7 @@ static void test_crbug_422693(skiatest::Reporter* reporter) { SkRasterClip rc(SkIRect::MakeLTRB(-25000, -25000, 25000, 25000)); SkPath path; path.addCircle(50, 50, 50); - rc.op(path, rc.getBounds().size(), SkRegion::kIntersect_Op, true); + rc.op(path, rc.getBounds(), SkRegion::kIntersect_Op, true); } DEF_TEST(AAClip, reporter) { |