| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 #include "SkIntersections.h" | 7 #include "SkIntersections.h" |
| 8 #include "SkOpContour.h" | 8 #include "SkOpContour.h" |
| 9 #include "SkOpSegment.h" | 9 #include "SkOpSegment.h" |
| 10 #include "SkPathWriter.h" | 10 #include "SkPathWriter.h" |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 // if the following span exists (not past the end, non-zero winding) | 244 // if the following span exists (not past the end, non-zero winding) |
| 245 // connect the two edges | 245 // connect the two edges |
| 246 if (!fTs[tIndexStart].fWindValue) { | 246 if (!fTs[tIndexStart].fWindValue) { |
| 247 if (tIndexStart > 0 && fTs[tIndexStart - 1].fWindValue) { | 247 if (tIndexStart > 0 && fTs[tIndexStart - 1].fWindValue) { |
| 248 #if DEBUG_CONCIDENT | 248 #if DEBUG_CONCIDENT |
| 249 SkDebugf("%s 1 this=%d other=%d t [%d] %1.9g (%1.9g,%1.9g)\n", | 249 SkDebugf("%s 1 this=%d other=%d t [%d] %1.9g (%1.9g,%1.9g)\n", |
| 250 __FUNCTION__, fID, other->fID, tIndexStart - 1, | 250 __FUNCTION__, fID, other->fID, tIndexStart - 1, |
| 251 fTs[tIndexStart].fT, xyAtT(tIndexStart).fX, | 251 fTs[tIndexStart].fT, xyAtT(tIndexStart).fX, |
| 252 xyAtT(tIndexStart).fY); | 252 xyAtT(tIndexStart).fY); |
| 253 #endif | 253 #endif |
| 254 addTPair(fTs[tIndexStart].fT, other, other->fTs[oIndex].fT, false, | 254 SkPoint copy = fTs[tIndexStart].fPt; // add t pair may move the poi
nt array |
| 255 fTs[tIndexStart].fPt); | 255 addTPair(fTs[tIndexStart].fT, other, other->fTs[oIndex].fT, false, c
opy); |
| 256 } | 256 } |
| 257 if (nextT < 1 && fTs[tIndex].fWindValue) { | 257 if (nextT < 1 && fTs[tIndex].fWindValue) { |
| 258 #if DEBUG_CONCIDENT | 258 #if DEBUG_CONCIDENT |
| 259 SkDebugf("%s 2 this=%d other=%d t [%d] %1.9g (%1.9g,%1.9g)\n", | 259 SkDebugf("%s 2 this=%d other=%d t [%d] %1.9g (%1.9g,%1.9g)\n", |
| 260 __FUNCTION__, fID, other->fID, tIndex, | 260 __FUNCTION__, fID, other->fID, tIndex, |
| 261 fTs[tIndex].fT, xyAtT(tIndex).fX, | 261 fTs[tIndex].fT, xyAtT(tIndex).fX, |
| 262 xyAtT(tIndex).fY); | 262 xyAtT(tIndex).fY); |
| 263 #endif | 263 #endif |
| 264 addTPair(fTs[tIndex].fT, other, other->fTs[oIndexStart].fT, false, f
Ts[tIndex].fPt); | 264 SkPoint copy = fTs[tIndex].fPt; // add t pair may move the point ar
ray |
| 265 addTPair(fTs[tIndex].fT, other, other->fTs[oIndexStart].fT, false, c
opy); |
| 265 } | 266 } |
| 266 } else { | 267 } else { |
| 267 SkASSERT(!other->fTs[oIndexStart].fWindValue); | 268 SkASSERT(!other->fTs[oIndexStart].fWindValue); |
| 268 if (oIndexStart > 0 && other->fTs[oIndexStart - 1].fWindValue) { | 269 if (oIndexStart > 0 && other->fTs[oIndexStart - 1].fWindValue) { |
| 269 #if DEBUG_CONCIDENT | 270 #if DEBUG_CONCIDENT |
| 270 SkDebugf("%s 3 this=%d other=%d t [%d] %1.9g (%1.9g,%1.9g)\n", | 271 SkDebugf("%s 3 this=%d other=%d t [%d] %1.9g (%1.9g,%1.9g)\n", |
| 271 __FUNCTION__, fID, other->fID, oIndexStart - 1, | 272 __FUNCTION__, fID, other->fID, oIndexStart - 1, |
| 272 other->fTs[oIndexStart].fT, other->xyAtT(oIndexStart).fX, | 273 other->fTs[oIndexStart].fT, other->xyAtT(oIndexStart).fX, |
| 273 other->xyAtT(oIndexStart).fY); | 274 other->xyAtT(oIndexStart).fY); |
| 274 other->debugAddTPair(other->fTs[oIndexStart].fT, *this, fTs[tIndex].
fT); | 275 other->debugAddTPair(other->fTs[oIndexStart].fT, *this, fTs[tIndex].
fT); |
| (...skipping 4117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4392 SkASSERT(span->fWindValue > 0 || span->fOppValue != 0); | 4393 SkASSERT(span->fWindValue > 0 || span->fOppValue != 0); |
| 4393 span->fWindValue = 0; | 4394 span->fWindValue = 0; |
| 4394 span->fOppValue = 0; | 4395 span->fOppValue = 0; |
| 4395 if (span->fTiny || span->fSmall) { | 4396 if (span->fTiny || span->fSmall) { |
| 4396 return; | 4397 return; |
| 4397 } | 4398 } |
| 4398 SkASSERT(!span->fDone); | 4399 SkASSERT(!span->fDone); |
| 4399 span->fDone = true; | 4400 span->fDone = true; |
| 4400 ++fDoneSpans; | 4401 ++fDoneSpans; |
| 4401 } | 4402 } |
| OLD | NEW |