/* * Copyright 2012 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkPathOpsCommon_DEFINED #define SkPathOpsCommon_DEFINED #include "SkOpAngle.h" #include "SkTDArray.h" class SkOpCoincidence; class SkOpContour; class SkPathWriter; void Assemble(const SkPathWriter& path, SkPathWriter* simple); SkOpSegment* FindChase(SkTDArray* chase, SkOpSpanBase** startPtr, SkOpSpanBase** endPtr); SkOpSegment* FindSortableTop(const SkTDArray& , bool firstPass, SkOpAngle::IncludeType , bool* firstContour, SkOpSpanBase** index, SkOpSpanBase** endIndex, SkPoint* topLeft, bool* unsortable, bool* done, bool* onlyVertical, SkChunkAlloc* ); SkOpSegment* FindUndone(SkTDArray& contourList, SkOpSpanBase** startPtr, SkOpSpanBase** endPtr); void MakeContourList(SkOpContour* , SkTDArray& list, bool evenOdd, bool oppEvenOdd); bool HandleCoincidence(SkTDArray* , SkOpCoincidence* , SkChunkAlloc* , SkOpGlobalState* ); #if DEBUG_ACTIVE_SPANS void DebugShowActiveSpans(SkTDArray& contourList); #endif #endif