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

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

Issue 2300203002: interpolation of coincidence must be local to a single span (Closed)
Patch Set: fix another warning Created 4 years, 3 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 "SkTDArray.h" 10 #include "SkTDArray.h"
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 bool addEndMovedSpans(const SkOpSpan* base, const SkOpSpanBase* testSpan); 243 bool addEndMovedSpans(const SkOpSpan* base, const SkOpSpanBase* testSpan);
244 bool addEndMovedSpans(const SkOpPtT* ptT); 244 bool addEndMovedSpans(const SkOpPtT* ptT);
245 245
246 bool addIfMissing(const SkCoincidentSpans* outer, SkOpPtT* over1s, SkOpPtT* over1e); 246 bool addIfMissing(const SkCoincidentSpans* outer, SkOpPtT* over1s, SkOpPtT* over1e);
247 247
248 bool addIfMissing(const SkCoincidentSpans* outer, const SkOpPtT* over1s, 248 bool addIfMissing(const SkCoincidentSpans* outer, const SkOpPtT* over1s,
249 const SkOpPtT* over1e) { 249 const SkOpPtT* over1e) {
250 return addIfMissing(outer, const_cast<SkOpPtT*>(over1s), const_cast<SkOp PtT*>(over1e)); 250 return addIfMissing(outer, const_cast<SkOpPtT*>(over1s), const_cast<SkOp PtT*>(over1e));
251 } 251 }
252 252
253 bool addIfMissing(const SkOpPtT* over1s, const SkOpPtT* over1e, 253 bool addIfMissing(const SkOpPtT* over1s, const SkOpPtT* over2s,
254 const SkOpPtT* over2s, const SkOpPtT* over2e, 254 double tStart, double tEnd, SkOpSegment* coinSeg, SkOpSegm ent* oppSeg
255 double tStart, double tEnd, 255 SkDEBUGPARAMS(const SkOpPtT* over1e) SkDEBUGPARAMS(const S kOpPtT* over2e));
256 SkOpPtT* coinPtTStart, const SkOpPtT* coinPtTEnd,
257 SkOpPtT* oppPtTStart, const SkOpPtT* oppPtTEnd);
258
259 bool addIfMissing(const SkOpPtT* over1s, const SkOpPtT* over1e,
260 const SkOpPtT* over2s, const SkOpPtT* over2e,
261 double tStart, double tEnd,
262 const SkOpPtT* coinPtTStart, const SkOpPtT* coinPtTEnd,
263 const SkOpPtT* oppPtTStart, const SkOpPtT* oppPtTEnd) {
264 return addIfMissing(over1s, over1e, over2s, over2e, tStart, tEnd,
265 const_cast<SkOpPtT*>(coinPtTStart), coinPtTEnd,
266 const_cast<SkOpPtT*>(oppPtTStart), oppPtTEnd);
267 }
268
269 bool addOrOverlap(SkOpSegment* coinSeg, SkOpSegment* oppSeg, 256 bool addOrOverlap(SkOpSegment* coinSeg, SkOpSegment* oppSeg,
270 double coinTs, double coinTe, double oppTs, double oppTe 257 double coinTs, double coinTe, double oppTs, double oppTe
271 SkDEBUGPARAMS(bool callerAborts)); 258 SkDEBUGPARAMS(bool callerAborts));
272 bool addOverlap(const SkOpSegment* seg1, const SkOpSegment* seg1o, 259 bool addOverlap(const SkOpSegment* seg1, const SkOpSegment* seg1o,
273 const SkOpSegment* seg2, const SkOpSegment* seg2o, 260 const SkOpSegment* seg2, const SkOpSegment* seg2o,
274 const SkOpPtT* overS, const SkOpPtT* overE); 261 const SkOpPtT* overS, const SkOpPtT* overE);
275 bool alreadyAdded(const SkCoincidentSpans* check, const SkCoincidentSpans* o uter, 262 bool alreadyAdded(const SkCoincidentSpans* check, const SkCoincidentSpans* o uter,
276 const SkOpPtT* over1s, const SkOpPtT* over1e) const; 263 const SkOpPtT* over1s, const SkOpPtT* over1e) const;
277 bool checkOverlap(SkCoincidentSpans* check, 264 bool checkOverlap(SkCoincidentSpans* check,
278 const SkOpSegment* coinSeg, const SkOpSegment* oppSeg, 265 const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
279 double coinTs, double coinTe, double oppTs, double oppTe, 266 double coinTs, double coinTe, double oppTs, double oppTe,
280 SkTDArray<SkCoincidentSpans*>* overlaps) const; 267 SkTDArray<SkCoincidentSpans*>* overlaps) const;
281 bool contains(const SkOpSegment* seg, const SkOpSegment* opp, double oppT) c onst; 268 bool contains(const SkOpSegment* seg, const SkOpSegment* opp, double oppT) c onst;
282 bool contains(const SkCoincidentSpans* coin, const SkOpSegment* seg, 269 bool contains(const SkCoincidentSpans* coin, const SkOpSegment* seg,
283 const SkOpSegment* opp, double oppT) const; 270 const SkOpSegment* opp, double oppT) const;
284 #if DEBUG_COINCIDENCE_VERBOSE 271 #if DEBUG_COINCIDENCE_VERBOSE
285 void debugAddIfMissing(const SkCoincidentSpans* outer, const SkOpPtT* over1s , 272 void debugAddIfMissing(const char* id, SkPathOpsDebug::GlitchLog* ,
286 const SkOpPtT* over1e, const char* id, SkPathOpsDebug ::GlitchLog*) const; 273 const SkCoincidentSpans* outer, const SkOpPtT* over1s ,
287 void debugAddIfMissing(const SkOpPtT* over1s, const SkOpPtT* over1e, 274 const SkOpPtT* over1e) const;
288 const SkOpPtT* over2s, const SkOpPtT* over2e, 275 void debugAddIfMissing(const char* id, SkPathOpsDebug::GlitchLog* ,
276 const SkOpPtT* over1s, const SkOpPtT* over2s,
289 double tStart, double tEnd, 277 double tStart, double tEnd,
290 const SkOpPtT* coinPtTStart, const SkOpPtT* coinPtTEn d, 278 const SkOpSegment* coinSeg, const SkOpSegment* oppSeg ,
291 const SkOpPtT* oppPtTStart, const SkOpPtT* oppPtTEnd, 279 const SkOpPtT* over1e, const SkOpPtT* over2e) const;
292 const char* id, SkPathOpsDebug::GlitchLog*) const;
293 #endif 280 #endif
294 void fixUp(SkCoincidentSpans* coin, SkOpPtT* deleted, const SkOpPtT* kept); 281 void fixUp(SkCoincidentSpans* coin, SkOpPtT* deleted, const SkOpPtT* kept);
295 void markCollapsed(SkCoincidentSpans* head, SkOpPtT* test); 282 void markCollapsed(SkCoincidentSpans* head, SkOpPtT* test);
296 bool overlap(const SkOpPtT* coinStart1, const SkOpPtT* coinEnd1, 283 bool overlap(const SkOpPtT* coinStart1, const SkOpPtT* coinEnd1,
297 const SkOpPtT* coinStart2, const SkOpPtT* coinEnd2, 284 const SkOpPtT* coinStart2, const SkOpPtT* coinEnd2,
298 double* overS, double* overE) const; 285 double* overS, double* overE) const;
299 bool release(SkCoincidentSpans* coin, SkCoincidentSpans* ); 286 bool release(SkCoincidentSpans* coin, SkCoincidentSpans* );
300 void releaseDeleted(SkCoincidentSpans* ); 287 void releaseDeleted(SkCoincidentSpans* );
301 void restoreHead(); 288 void restoreHead();
302 bool testForCoincidence(const SkCoincidentSpans* outer, const SkOpPtT* testS , 289 bool testForCoincidence(const SkCoincidentSpans* outer, const SkOpPtT* testS ,
303 const SkOpPtT* testE) const; 290 const SkOpPtT* testE) const;
304 static void TRange(const SkOpPtT* overS, const SkOpPtT* overE, double tStart , 291 // return coinPtT->segment()->t mapped from overS->fT <= t <= overE->fT
305 double tEnd, const SkOpPtT* coinPtTStart, const SkOpPtT* coinPtTEnd, 292 static double TRange(const SkOpPtT* overS, double t, const SkOpSegment* coin PtT
306 double* coinTs, double* coinTe); 293 SkDEBUGPARAMS(const SkOpPtT* overE));
307 294
308 SkCoincidentSpans* fHead; 295 SkCoincidentSpans* fHead;
309 SkCoincidentSpans* fTop; 296 SkCoincidentSpans* fTop;
310 SkOpGlobalState* fGlobalState; 297 SkOpGlobalState* fGlobalState;
311 bool fContinue; 298 bool fContinue;
312 bool fSpanDeleted; 299 bool fSpanDeleted;
313 bool fPtAllocated; 300 bool fPtAllocated;
314 bool fCoinExtended; 301 bool fCoinExtended;
315 bool fSpanMerged; 302 bool fSpanMerged;
316 }; 303 };
317 304
318 #endif 305 #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