|
Add implementation of path ops
This CL depends on
https://codereview.chromium.org/12880016/
"Add intersections for path ops"
Given a path, iterate through its contour, and
construct an array of segments containing its curves.
Intersect each curve with every other curve, and for
cubics, with itself.
Given the set of intersections, find one with the
smallest y and sort the curves eminating from the
intersection. Assign each curve a winding value.
Operate on the curves, keeping and discarding them
according to the current operation and the sum of
the winding values.
Assemble the kept curves into an output path.
Committed: https://code.google.com/p/skia/source/detail?r=8553
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+13692 lines, --1 lines) |
Patch |
|
A |
gyp/pathops_unittest.gyp
|
View
|
|
1 chunk |
+137 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkAddIntersections.h
|
View
|
|
1 chunk |
+19 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkAddIntersections.cpp
|
View
|
|
1 chunk |
+433 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkIntersectionHelper.h
|
View
|
|
1 chunk |
+139 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkIntersectionHelper.cpp
|
View
|
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkOpAngle.h
|
View
|
|
1 chunk |
+91 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkOpAngle.cpp
|
View
|
|
1 chunk |
+256 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkOpContour.h
|
View
|
|
1 chunk |
+253 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkOpContour.cpp
|
View
|
|
1 chunk |
+355 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkOpEdgeBuilder.h
|
View
|
|
1 chunk |
+62 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkOpEdgeBuilder.cpp
|
View
|
|
1 chunk |
+148 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkOpSegment.h
|
View
|
|
1 chunk |
+410 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkOpSegment.cpp
|
View
|
|
1 chunk |
+2939 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkOpSpan.h
|
View
|
|
1 chunk |
+31 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkPathOpsCommon.h
|
View
|
|
1 chunk |
+29 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkPathOpsCommon.cpp
|
View
|
|
1 chunk |
+573 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkPathOpsOp.cpp
|
View
|
|
1 chunk |
+272 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkPathOpsSimplify.cpp
|
View
|
|
1 chunk |
+195 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkPathOpsSpan.h
|
View
|
|
1 chunk |
+31 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkPathWriter.h
|
View
|
|
1 chunk |
+44 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/SkPathWriter.cpp
|
View
|
|
1 chunk |
+157 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/TSearch.h
|
View
|
|
1 chunk |
+101 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/pathops/main.cpp
|
View
|
|
1 chunk |
+16 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsExtendedTest.h
|
View
|
|
1 chunk |
+75 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsExtendedTest.cpp
|
View
|
|
1 chunk |
+768 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsOpCubicThreadedTest.cpp
|
View
|
|
1 chunk |
+91 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsOpRectThreadedTest.cpp
|
View
|
|
1 chunk |
+98 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsOpTest.cpp
|
View
|
|
1 chunk |
+1226 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsQuadLineIntersectionThreadedTest.cpp
|
View
|
|
1 chunk |
+135 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsSimplifyDegenerateThreadedTest.cpp
|
View
|
|
1 chunk |
+103 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsSimplifyQuadThreadedTest.cpp
|
View
|
|
1 chunk |
+102 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsSimplifyQuadralateralsThreadedTest.cpp
|
View
|
|
1 chunk |
+106 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsSimplifyRectThreadedTest.cpp
|
View
|
|
1 chunk |
+204 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsSimplifyTest.cpp
|
View
|
|
1 chunk |
+3943 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsSimplifyTrianglesThreadedTest.cpp
|
View
|
|
1 chunk |
+109 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsTestCommon.h
|
View
|
|
1 chunk |
+15 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/PathOpsTestCommon.cpp
|
View
|
|
1 chunk |
+27 lines, -0 lines |
0 comments
|
Download
|
Total messages: 1 (0 generated)
|