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

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

Issue 1854333002: give up if huge paths have unresolvable coincidence (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: give up if huge paths have unresolvable coincidences Created 4 years, 8 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
« no previous file with comments | « no previous file | src/pathops/SkOpCoincidence.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 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 SkOpCoincidence_DEFINED 7 #ifndef SkOpCoincidence_DEFINED
8 #define SkOpCoincidence_DEFINED 8 #define SkOpCoincidence_DEFINED
9 9
10 #include "SkOpTAllocator.h" 10 #include "SkOpTAllocator.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 bool extend(SkOpPtT* coinPtTStart, SkOpPtT* coinPtTEnd, SkOpPtT* oppPtTStart , 85 bool extend(SkOpPtT* coinPtTStart, SkOpPtT* coinPtTEnd, SkOpPtT* oppPtTStart ,
86 SkOpPtT* oppPtTEnd); 86 SkOpPtT* oppPtTEnd);
87 void findOverlaps(SkOpCoincidence* , SkChunkAlloc* allocator) const; 87 void findOverlaps(SkOpCoincidence* , SkChunkAlloc* allocator) const;
88 void fixAligned(); 88 void fixAligned();
89 void fixUp(SkOpPtT* deleted, SkOpPtT* kept); 89 void fixUp(SkOpPtT* deleted, SkOpPtT* kept);
90 90
91 bool isEmpty() const { 91 bool isEmpty() const {
92 return !fHead; 92 return !fHead;
93 } 93 }
94 94
95 void mark(); 95 bool mark();
96 96
97 private: 97 private:
98 bool addIfMissing(const SkCoincidentSpans* outer, SkOpPtT* over1s, SkOpPtT* over1e, 98 bool addIfMissing(const SkCoincidentSpans* outer, SkOpPtT* over1s, SkOpPtT* over1e,
99 SkChunkAlloc* ); 99 SkChunkAlloc* );
100 bool addIfMissing(const SkOpPtT* over1s, const SkOpPtT* over1e, 100 bool addIfMissing(const SkOpPtT* over1s, const SkOpPtT* over1e,
101 const SkOpPtT* over2s, const SkOpPtT* over2e, 101 const SkOpPtT* over2s, const SkOpPtT* over2e,
102 double tStart, double tEnd, 102 double tStart, double tEnd,
103 SkOpPtT* coinPtTStart, const SkOpPtT* coinPtTEnd, 103 SkOpPtT* coinPtTStart, const SkOpPtT* coinPtTEnd,
104 SkOpPtT* oppPtTStart, const SkOpPtT* oppPtTEnd, 104 SkOpPtT* oppPtTStart, const SkOpPtT* oppPtTEnd,
105 SkChunkAlloc* ); 105 SkChunkAlloc* );
(...skipping 11 matching lines...) Expand all
117 double* overS, double* overE) const; 117 double* overS, double* overE) const;
118 118
119 bool testForCoincidence(const SkCoincidentSpans* outer, const SkOpPtT* testS , 119 bool testForCoincidence(const SkCoincidentSpans* outer, const SkOpPtT* testS ,
120 const SkOpPtT* testE) const; 120 const SkOpPtT* testE) const;
121 SkCoincidentSpans* fHead; 121 SkCoincidentSpans* fHead;
122 SkCoincidentSpans* fTop; 122 SkCoincidentSpans* fTop;
123 SkDEBUGCODE_(SkOpGlobalState* fDebugState); 123 SkDEBUGCODE_(SkOpGlobalState* fDebugState);
124 }; 124 };
125 125
126 #endif 126 #endif
OLDNEW
« no previous file with comments | « no previous file | src/pathops/SkOpCoincidence.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698