SkPathOpsCommon.h revision 54359294a7c9dc54802d512a5d891a35c1663392
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 "SkTDArray.h" 12 13class SkOpCoincidence; 14class SkOpContour; 15class SkPathWriter; 16 17void Assemble(const SkPathWriter& path, SkPathWriter* simple); 18SkOpSegment* FindChase(SkTDArray<SkOpSpanBase*>* chase, SkOpSpanBase** startPtr, 19 SkOpSpanBase** endPtr); 20SkOpSegment* FindSortableTop(const SkTDArray<SkOpContour*>& , bool firstPass, 21 SkOpAngle::IncludeType , bool* firstContour, SkOpSpanBase** index, 22 SkOpSpanBase** endIndex, SkPoint* topLeft, bool* unsortable, 23 bool* done, bool* onlyVertical, SkChunkAlloc* ); 24SkOpSegment* FindUndone(SkTDArray<SkOpContour*>& contourList, SkOpSpanBase** startPtr, 25 SkOpSpanBase** endPtr); 26void MakeContourList(SkOpContour* , SkTDArray<SkOpContour*>& list, 27 bool evenOdd, bool oppEvenOdd); 28bool HandleCoincidence(SkTDArray<SkOpContour*>* , SkOpCoincidence* , SkChunkAlloc* , 29 SkOpGlobalState* ); 30 31#if DEBUG_ACTIVE_SPANS 32void DebugShowActiveSpans(SkTDArray<SkOpContour*>& contourList); 33#endif 34 35#endif 36