diff options
author | caryclark <caryclark@google.com> | 2015-04-29 08:28:30 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-29 08:28:30 -0700 |
commit | aec251012542e971100e218bf463adbfb5d21d20 (patch) | |
tree | 16c2e84c2d59d94b75d7d2bc50fec53c0e38a898 /tests/PathOpsBoundsTest.cpp | |
parent | 97fdea6c4393cf0102d7eee5790782509fb4f57b (diff) |
minor fixes to cubics code and overall alignment of how bounds and tops are computed for all curve types
All but 17 extended tests work.
A helper function is privately added to SkPath.h to permit a test to modify a given point in a path.
BUG=skia:3588
Review URL: https://codereview.chromium.org/1107353004
Diffstat (limited to 'tests/PathOpsBoundsTest.cpp')
-rw-r--r-- | tests/PathOpsBoundsTest.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/tests/PathOpsBoundsTest.cpp b/tests/PathOpsBoundsTest.cpp index 1160ae66c1..0c74b69b12 100644 --- a/tests/PathOpsBoundsTest.cpp +++ b/tests/PathOpsBoundsTest.cpp @@ -6,6 +6,7 @@ */ #include "PathOpsTestCommon.h" #include "SkPathOpsBounds.h" +#include "SkPathOpsCurve.h" #include "Test.h" static const SkRect sectTests[][2] = { @@ -74,9 +75,9 @@ DEF_TEST(PathOpsBounds, reporter) { ordinal.set(1, 2, 3, 4); bounds.add(ordinal); REPORTER_ASSERT(reporter, bounds == expected); - SkPoint topLeft = {0, 0}; + SkDPoint topLeft = {0, 0}; bounds.setPointBounds(topLeft); - SkPoint botRight = {3, 4}; + SkDPoint botRight = {3, 4}; bounds.add(botRight); REPORTER_ASSERT(reporter, bounds == expected); for (size_t index = 0; index < emptyTestsCount; ++index) { @@ -92,19 +93,23 @@ DEF_TEST(PathOpsBounds, reporter) { REPORTER_ASSERT(reporter, !empty); } const SkPoint curvePts[] = {{0, 0}, {1, 2}, {3, 4}, {5, 6}}; - bounds.setLineBounds(curvePts, 1); + SkDCurve curve; + curve.fLine.set(curvePts); + curve.setLineBounds(curvePts, 1, 0, 1, &bounds); expected.set(0, 0, 1, 2); REPORTER_ASSERT(reporter, bounds == expected); - (bounds.*SetCurveBounds[SkPath::kLine_Verb])(curvePts, 1); + (curve.*SetBounds[SkPath::kLine_Verb])(curvePts, 1, 0, 1, &bounds); REPORTER_ASSERT(reporter, bounds == expected); - bounds.setQuadBounds(curvePts, 1); + curve.fQuad.set(curvePts); + curve.setQuadBounds(curvePts, 1, 0, 1, &bounds); expected.set(0, 0, 3, 4); REPORTER_ASSERT(reporter, bounds == expected); - (bounds.*SetCurveBounds[SkPath::kQuad_Verb])(curvePts, 1); + (curve.*SetBounds[SkPath::kQuad_Verb])(curvePts, 1, 0, 1, &bounds); REPORTER_ASSERT(reporter, bounds == expected); - bounds.setCubicBounds(curvePts, 1); + curve.fCubic.set(curvePts); + curve.setCubicBounds(curvePts, 1, 0, 1, &bounds); expected.set(0, 0, 5, 6); REPORTER_ASSERT(reporter, bounds == expected); - (bounds.*SetCurveBounds[SkPath::kCubic_Verb])(curvePts, 1); + (curve.*SetBounds[SkPath::kCubic_Verb])(curvePts, 1, 0, 1, &bounds); REPORTER_ASSERT(reporter, bounds == expected); } |