shape ops work in progress
git-svn-id: http://skia.googlecode.com/svn/trunk@6929 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/Intersection/ShapeOps.cpp b/experimental/Intersection/ShapeOps.cpp
index 281cf7f..0e0b1de 100644
--- a/experimental/Intersection/ShapeOps.cpp
+++ b/experimental/Intersection/ShapeOps.cpp
@@ -72,11 +72,11 @@
if (nextIndex == angleCount) {
nextIndex = 0;
}
- int maxWinding, sumWinding, oppMaxWinding, oppSumWinding;
angle = sorted[nextIndex];
segment = angle->segment();
int start = angle->start();
int end = angle->end();
+ int maxWinding, sumWinding, oppMaxWinding, oppSumWinding;
segment->setUpWindings(start, end, sumMiWinding, sumSuWinding,
maxWinding, sumWinding, oppMaxWinding, oppSumWinding);
if (!segment->done(angle)) {
@@ -139,10 +139,11 @@
SkPoint topLeft = {SK_ScalarMin, SK_ScalarMin};
do {
int index, endIndex;
+ bool done;
Segment* current = findSortableTopNew(contourList, firstContour, index, endIndex, topLeft,
- topUnsortable);
+ topUnsortable, done, true);
if (!current) {
- if (topUnsortable) {
+ if (topUnsortable || !done) {
topUnsortable = false;
SkASSERT(!firstRetry);
firstRetry = true;