michael@0: /* michael@0: * Copyright 2012 Google Inc. michael@0: * michael@0: * Use of this source code is governed by a BSD-style license that can be michael@0: * found in the LICENSE file. michael@0: */ michael@0: #ifndef SkPathOpsCommon_DEFINED michael@0: #define SkPathOpsCommon_DEFINED michael@0: michael@0: #include "SkOpAngle.h" michael@0: #include "SkOpContour.h" michael@0: #include "SkTDArray.h" michael@0: michael@0: class SkPathWriter; michael@0: michael@0: void Assemble(const SkPathWriter& path, SkPathWriter* simple); michael@0: // FIXME: find chase uses insert, so it can't be converted to SkTArray yet michael@0: SkOpSegment* FindChase(SkTDArray& chase, int& tIndex, int& endIndex); michael@0: SkOpSegment* FindSortableTop(const SkTArray& , SkOpAngle::IncludeType , michael@0: bool* firstContour, int* index, int* endIndex, SkPoint* topLeft, michael@0: bool* unsortable, bool* done); michael@0: SkOpSegment* FindUndone(SkTArray& contourList, int* start, int* end); michael@0: void MakeContourList(SkTArray& contours, SkTArray& list, michael@0: bool evenOdd, bool oppEvenOdd); michael@0: void HandleCoincidence(SkTArray* , int ); michael@0: michael@0: #if DEBUG_ACTIVE_SPANS || DEBUG_ACTIVE_SPANS_FIRST_ONLY michael@0: void DebugShowActiveSpans(SkTArray& contourList); michael@0: #endif michael@0: michael@0: #endif