1 /* 2 * Copyright 2012 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 #ifndef SkPathOpsCommon_DEFINED 8 #define SkPathOpsCommon_DEFINED 9 10 #include "SkOpAngle.h" 11 #include "SkOpContour.h" 12 #include "SkTDArray.h" 13 14 class SkPathWriter; 15 16 void Assemble(const SkPathWriter& path, SkPathWriter* simple); 17 // FIXME: find chase uses insert, so it can't be converted to SkTArray yet 18 SkOpSegment* FindChase(SkTDArray<SkOpSpan*>& chase, int& tIndex, int& endIndex); 19 SkOpSegment* FindSortableTop(const SkTArray<SkOpContour*, true>& , SkOpAngle::IncludeType , 20 bool* firstContour, int* index, int* endIndex, SkPoint* topLeft, 21 bool* unsortable, bool* done); 22 SkOpSegment* FindUndone(SkTArray<SkOpContour*, true>& contourList, int* start, int* end); 23 void MakeContourList(SkTArray<SkOpContour>& contours, SkTArray<SkOpContour*, true>& list, 24 bool evenOdd, bool oppEvenOdd); 25 void HandleCoincidence(SkTArray<SkOpContour*, true>* , int ); 26 27 #if DEBUG_ACTIVE_SPANS || DEBUG_ACTIVE_SPANS_FIRST_ONLY 28 void DebugShowActiveSpans(SkTArray<SkOpContour*, true>& contourList); 29 #endif 30 31 #endif 32