Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(665)

Side by Side Diff: src/pathops/SkPathOpsCommon.h

Issue 2128633003: pathops coincidence and security rewrite (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: require resulting t to be between 0 and 1 Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 #ifndef SkPathOpsCommon_DEFINED 7 #ifndef SkPathOpsCommon_DEFINED
8 #define SkPathOpsCommon_DEFINED 8 #define SkPathOpsCommon_DEFINED
9 9
10 #include "SkOpAngle.h" 10 #include "SkOpAngle.h"
11 #include "SkTDArray.h" 11 #include "SkTDArray.h"
12 12
13 class SkOpCoincidence; 13 class SkOpCoincidence;
14 class SkOpContour; 14 class SkOpContour;
15 class SkPathWriter; 15 class SkPathWriter;
16 16
17 const SkOpAngle* AngleWinding(SkOpSpanBase* start, SkOpSpanBase* end, int* windi ngPtr, 17 const SkOpAngle* AngleWinding(SkOpSpanBase* start, SkOpSpanBase* end, int* windi ngPtr,
18 bool* sortable); 18 bool* sortable);
19 void Assemble(const SkPathWriter& path, SkPathWriter* simple); 19 void Assemble(const SkPathWriter& path, SkPathWriter* simple);
20 SkOpSegment* FindChase(SkTDArray<SkOpSpanBase*>* chase, SkOpSpanBase** startPtr, 20 SkOpSegment* FindChase(SkTDArray<SkOpSpanBase*>* chase, SkOpSpanBase** startPtr,
21 SkOpSpanBase** endPtr); 21 SkOpSpanBase** endPtr);
22 SkOpSpan* FindSortableTop(SkOpContourHead* ); 22 SkOpSpan* FindSortableTop(SkOpContourHead* );
23 SkOpSegment* FindUndone(SkOpContourHead* , SkOpSpanBase** startPtr, 23 SkOpSegment* FindUndone(SkOpContourHead* , SkOpSpanBase** startPtr,
24 SkOpSpanBase** endPtr); 24 SkOpSpanBase** endPtr);
25 bool FixWinding(SkPath* path); 25 bool FixWinding(SkPath* path);
26 bool SortContourList(SkOpContourHead** , bool evenOdd, bool oppEvenOdd); 26 bool SortContourList(SkOpContourHead** , bool evenOdd, bool oppEvenOdd);
27 bool HandleCoincidence(SkOpContourHead* , SkOpCoincidence* , SkChunkAlloc* ); 27 bool HandleCoincidence(SkOpContourHead* , SkOpCoincidence* );
28 bool OpDebug(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result 28 bool OpDebug(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result
29 SkDEBUGPARAMS(bool skipAssert) 29 SkDEBUGPARAMS(bool skipAssert)
30 SkDEBUGPARAMS(const char* testName)); 30 SkDEBUGPARAMS(const char* testName));
31 #if DEBUG_ACTIVE_SPANS 31 SkScalar ScaleFactor(const SkPath& path);
32 void DebugShowActiveSpans(SkOpContourHead* ); 32 void ScalePath(const SkPath& path, SkScalar scale, SkPath* scaled);
33 #endif
34 33
35 #endif 34 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698