OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 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 SkOpContour_DEFINED | 7 #ifndef SkOpContour_DEFINED |
8 #define SkOpContour_DEFINED | 8 #define SkOpContour_DEFINED |
9 | 9 |
10 #include "SkOpSegment.h" | 10 #include "SkOpSegment.h" |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 } | 311 } |
312 SkASSERT(prev); | 312 SkASSERT(prev); |
313 prev->setNext(nullptr); | 313 prev->setNext(nullptr); |
314 } | 314 } |
315 | 315 |
316 void reset() { | 316 void reset() { |
317 fTail = nullptr; | 317 fTail = nullptr; |
318 fNext = nullptr; | 318 fNext = nullptr; |
319 fCount = 0; | 319 fCount = 0; |
320 fDone = false; | 320 fDone = false; |
321 fTopsFound = false; | |
322 SkDEBUGCODE(fBounds.set(SK_ScalarMax, SK_ScalarMax, SK_ScalarMin, SK_Sca
larMin)); | 321 SkDEBUGCODE(fBounds.set(SK_ScalarMax, SK_ScalarMax, SK_ScalarMin, SK_Sca
larMin)); |
323 SkDEBUGCODE(fFirstSorted = -1); | 322 SkDEBUGCODE(fFirstSorted = -1); |
324 SkDEBUGCODE(fDebugIndent = 0); | 323 SkDEBUGCODE(fDebugIndent = 0); |
325 } | 324 } |
326 | 325 |
327 void resetReverse() { | 326 void resetReverse() { |
328 SkOpContour* next = this; | 327 SkOpContour* next = this; |
329 do { | 328 do { |
330 next->fCcw = -1; | 329 next->fCcw = -1; |
331 next->fReverse = false; | 330 next->fReverse = false; |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 private: | 408 private: |
410 SkOpGlobalState* fState; | 409 SkOpGlobalState* fState; |
411 SkOpSegment fHead; | 410 SkOpSegment fHead; |
412 SkOpSegment* fTail; | 411 SkOpSegment* fTail; |
413 SkOpContour* fNext; | 412 SkOpContour* fNext; |
414 SkPathOpsBounds fBounds; | 413 SkPathOpsBounds fBounds; |
415 int fCcw; | 414 int fCcw; |
416 int fCount; | 415 int fCount; |
417 int fFirstSorted; | 416 int fFirstSorted; |
418 bool fDone; // set by find top segment | 417 bool fDone; // set by find top segment |
419 bool fTopsFound; | |
420 bool fOperand; // true for the second argument to a binary operator | 418 bool fOperand; // true for the second argument to a binary operator |
421 bool fReverse; // true if contour should be reverse written to path (used o
nly by fix winding) | 419 bool fReverse; // true if contour should be reverse written to path (used o
nly by fix winding) |
422 bool fXor; // set if original path had even-odd fill | 420 bool fXor; // set if original path had even-odd fill |
423 bool fOppXor; // set if opposite path had even-odd fill | 421 bool fOppXor; // set if opposite path had even-odd fill |
424 SkDEBUGCODE(int fID); | 422 SkDEBUGCODE(int fID); |
425 SkDEBUGCODE(mutable int fDebugIndent); | 423 SkDEBUGCODE(mutable int fDebugIndent); |
426 }; | 424 }; |
427 | 425 |
428 class SkOpContourHead : public SkOpContour { | 426 class SkOpContourHead : public SkOpContour { |
429 }; | 427 }; |
430 | 428 |
431 #endif | 429 #endif |
OLD | NEW |