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

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

Issue 607913007: fail on extremely large coincident curves (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 2 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/SkOpSegment.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 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 SkOpSegment_DEFINE 7 #ifndef SkOpSegment_DEFINE
8 #define SkOpSegment_DEFINE 8 #define SkOpSegment_DEFINE
9 9
10 #include "SkOpAngle.h" 10 #include "SkOpAngle.h"
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 bool activeWinding(int index, int endIndex, int* sumWinding); 400 bool activeWinding(int index, int endIndex, int* sumWinding);
401 void addCancelOutsides(const SkPoint& startPt, const SkPoint& endPt, SkOpSeg ment* other); 401 void addCancelOutsides(const SkPoint& startPt, const SkPoint& endPt, SkOpSeg ment* other);
402 void addCoinOutsides(const SkPoint& startPt, const SkPoint& endPt, SkOpSegme nt* other); 402 void addCoinOutsides(const SkPoint& startPt, const SkPoint& endPt, SkOpSegme nt* other);
403 SkOpAngle* addSingletonAngleDown(SkOpSegment** otherPtr, SkOpAngle** ); 403 SkOpAngle* addSingletonAngleDown(SkOpSegment** otherPtr, SkOpAngle** );
404 SkOpAngle* addSingletonAngleUp(SkOpSegment** otherPtr, SkOpAngle** ); 404 SkOpAngle* addSingletonAngleUp(SkOpSegment** otherPtr, SkOpAngle** );
405 SkOpAngle* addSingletonAngles(int step); 405 SkOpAngle* addSingletonAngles(int step);
406 void alignSpan(const SkPoint& newPt, double newT, const SkOpSegment* other, double otherT, 406 void alignSpan(const SkPoint& newPt, double newT, const SkOpSegment* other, double otherT,
407 const SkOpSegment* other2, SkOpSpan* oSpan, SkTDArray<Aligned Span>* ); 407 const SkOpSegment* other2, SkOpSpan* oSpan, SkTDArray<Aligned Span>* );
408 bool betweenPoints(double midT, const SkPoint& pt1, const SkPoint& pt2) cons t; 408 bool betweenPoints(double midT, const SkPoint& pt1, const SkPoint& pt2) cons t;
409 void bumpCoincidentBlind(bool binary, int index, int last); 409 void bumpCoincidentBlind(bool binary, int index, int last);
410 void bumpCoincidentThis(const SkOpSpan& oTest, bool binary, int* index, 410 bool bumpCoincidentThis(const SkOpSpan& oTest, bool binary, int* index,
411 SkTArray<SkPoint, true>* outsideTs); 411 SkTArray<SkPoint, true>* outsideTs);
412 void bumpCoincidentOBlind(int index, int last); 412 void bumpCoincidentOBlind(int index, int last);
413 void bumpCoincidentOther(const SkOpSpan& oTest, int* index, 413 void bumpCoincidentOther(const SkOpSpan& oTest, int* index,
414 SkTArray<SkPoint, true>* outsideTs); 414 SkTArray<SkPoint, true>* outsideTs);
415 bool bumpSpan(SkOpSpan* span, int windDelta, int oppDelta); 415 bool bumpSpan(SkOpSpan* span, int windDelta, int oppDelta);
416 bool calcLoopSpanCount(const SkOpSpan& thisSpan, int* smallCounts); 416 bool calcLoopSpanCount(const SkOpSpan& thisSpan, int* smallCounts);
417 bool checkForSmall(const SkOpSpan* span, const SkPoint& pt, double newT, 417 bool checkForSmall(const SkOpSpan* span, const SkPoint& pt, double newT,
418 int* less, int* more) const; 418 int* less, int* more) const;
419 void checkLinks(const SkOpSpan* , 419 void checkLinks(const SkOpSpan* ,
420 SkTArray<MissingSpan, true>* missingSpans) const; 420 SkTArray<MissingSpan, true>* missingSpans) const;
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 bool fSmall; // set if some span is small 546 bool fSmall; // set if some span is small
547 bool fTiny; // set if some span is tiny 547 bool fTiny; // set if some span is tiny
548 #if defined(SK_DEBUG) || !FORCE_RELEASE 548 #if defined(SK_DEBUG) || !FORCE_RELEASE
549 int fID; 549 int fID;
550 #endif 550 #endif
551 551
552 friend class PathOpsSegmentTester; 552 friend class PathOpsSegmentTester;
553 }; 553 };
554 554
555 #endif 555 #endif
OLDNEW
« no previous file with comments | « no previous file | src/pathops/SkOpSegment.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698