| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 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 #ifndef SkPathOpsTSect_DEFINED | 7 #ifndef SkPathOpsTSect_DEFINED |
| 8 #define SkPathOpsTSect_DEFINED | 8 #define SkPathOpsTSect_DEFINED |
| 9 | 9 |
| 10 #include "SkChunkAlloc.h" | 10 #include "SkChunkAlloc.h" |
| (...skipping 1202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1213 SkTSwap(oppStartT, oppEndT); | 1213 SkTSwap(oppStartT, oppEndT); |
| 1214 } | 1214 } |
| 1215 SkOPASSERT(oppStartT < oppEndT); | 1215 SkOPASSERT(oppStartT < oppEndT); |
| 1216 SkASSERT(coinStart == first->fStartT); | 1216 SkASSERT(coinStart == first->fStartT); |
| 1217 SkASSERT(coinEnd == last->fEndT); | 1217 SkASSERT(coinEnd == last->fEndT); |
| 1218 SkOPASSERT(oppStartT == oppFirst->fStartT); | 1218 SkOPASSERT(oppStartT == oppFirst->fStartT); |
| 1219 SkOPASSERT(oppEndT == oppLast->fEndT); | 1219 SkOPASSERT(oppEndT == oppLast->fEndT); |
| 1220 if (!oppFirst) { | 1220 if (!oppFirst) { |
| 1221 return nullptr; | 1221 return nullptr; |
| 1222 } | 1222 } |
| 1223 if (!oppLast) { |
| 1224 return nullptr; |
| 1225 } |
| 1223 // reduce coincident runs to single entries | 1226 // reduce coincident runs to single entries |
| 1224 this->validate(); | 1227 this->validate(); |
| 1225 sect2->validate(); | 1228 sect2->validate(); |
| 1226 bool deleteEmptySpans = this->updateBounded(first, last, oppFirst); | 1229 bool deleteEmptySpans = this->updateBounded(first, last, oppFirst); |
| 1227 deleteEmptySpans |= sect2->updateBounded(oppFirst, oppLast, first); | 1230 deleteEmptySpans |= sect2->updateBounded(oppFirst, oppLast, first); |
| 1228 this->removeSpanRange(first, last); | 1231 this->removeSpanRange(first, last); |
| 1229 sect2->removeSpanRange(oppFirst, oppLast); | 1232 sect2->removeSpanRange(oppFirst, oppLast); |
| 1230 first->fEndT = last->fEndT; | 1233 first->fEndT = last->fEndT; |
| 1231 first->resetBounds(this->fCurve); | 1234 first->resetBounds(this->fCurve); |
| 1232 first->fCoinStart.setPerp(fCurve, first->fStartT, first->fPart[0], sect2->fC
urve); | 1235 first->fCoinStart.setPerp(fCurve, first->fStartT, first->fPart[0], sect2->fC
urve); |
| (...skipping 1062 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2295 --last; | 2298 --last; |
| 2296 } else { | 2299 } else { |
| 2297 intersections->setCoincident(index++); | 2300 intersections->setCoincident(index++); |
| 2298 } | 2301 } |
| 2299 intersections->setCoincident(index); | 2302 intersections->setCoincident(index); |
| 2300 } | 2303 } |
| 2301 SkASSERT(intersections->used() <= TCurve::kMaxIntersections); | 2304 SkASSERT(intersections->used() <= TCurve::kMaxIntersections); |
| 2302 } | 2305 } |
| 2303 | 2306 |
| 2304 #endif | 2307 #endif |
| OLD | NEW |