Home | History | Annotate | Download | only in pathops
      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, bool* onlyVertical, bool firstPass);
     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 bool 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