• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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