| /* |
| * 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 "include/pathops/SkPathOps.h" |
| #include "src/pathops/SkPathOpsTypes.h" |
| |
| class SkOpAngle; |
| class SkOpCoincidence; |
| class SkOpContourHead; |
| class SkOpSegment; |
| class SkOpSpan; |
| class SkOpSpanBase; |
| class SkPath; |
| |
| template <typename T> class SkTDArray; |
| |
| const SkOpAngle* AngleWinding(SkOpSpanBase* start, SkOpSpanBase* end, int* windingPtr, |
| bool* sortable); |
| SkOpSegment* FindChase(SkTDArray<SkOpSpanBase*>* chase, SkOpSpanBase** startPtr, |
| SkOpSpanBase** endPtr); |
| SkOpSpan* FindSortableTop(SkOpContourHead* ); |
| SkOpSpan* FindUndone(SkOpContourHead* ); |
| bool FixWinding(SkPath* path); |
| bool SortContourList(SkOpContourHead** , bool evenOdd, bool oppEvenOdd); |
| bool HandleCoincidence(SkOpContourHead* , SkOpCoincidence* ); |
| bool OpDebug(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result |
| SkDEBUGPARAMS(bool skipAssert) |
| SkDEBUGPARAMS(const char* testName)); |
| |
| #endif |