SkPathOpsCommon.h revision dae6b97705fde08958b1a36fa6ce685d28fc692c
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 17const SkOpAngle* AngleWinding(SkOpSpanBase* start, SkOpSpanBase* end, int* windingPtr, 18 bool* sortable); 19void Assemble(const SkPathWriter& path, SkPathWriter* simple); 20SkOpSegment* FindChase(SkTDArray<SkOpSpanBase*>* chase, SkOpSpanBase** startPtr, 21 SkOpSpanBase** endPtr); 22SkOpSpan* FindSortableTop(SkOpContourHead* ); 23SkOpSegment* FindUndone(SkOpContourHead* , SkOpSpanBase** startPtr, 24 SkOpSpanBase** endPtr); 25bool FixWinding(SkPath* path); 26bool SortContourList(SkOpContourHead** , bool evenOdd, bool oppEvenOdd); 27bool HandleCoincidence(SkOpContourHead* , SkOpCoincidence* , SkChunkAlloc* ); 28bool OpDebug(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result, 29 bool expectSuccess SkDEBUGPARAMS(bool skipAssert) 30 SkDEBUGPARAMS(const char* testName)); 31#if DEBUG_ACTIVE_SPANS 32void DebugShowActiveSpans(SkOpContourHead* ); 33#endif 34 35#endif 36