|
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 |