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

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

Issue 1394503003: fix some pathops bugs found in 1M skps (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: init to avoid warning Created 5 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 | « src/pathops/SkIntersections.h ('k') | src/pathops/SkOpAngle.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 SkOpAngle_DEFINED 7 #ifndef SkOpAngle_DEFINED
8 #define SkOpAngle_DEFINED 8 #define SkOpAngle_DEFINED
9 9
10 #include "SkLineParameters.h" 10 #include "SkLineParameters.h"
(...skipping 12 matching lines...) Expand all
23 enum IncludeType { 23 enum IncludeType {
24 kUnaryWinding, 24 kUnaryWinding,
25 kUnaryXor, 25 kUnaryXor,
26 kBinarySingle, 26 kBinarySingle,
27 kBinaryOpp, 27 kBinaryOpp,
28 }; 28 };
29 29
30 bool after(SkOpAngle* test); 30 bool after(SkOpAngle* test);
31 int allOnOneSide(const SkOpAngle* test); 31 int allOnOneSide(const SkOpAngle* test);
32 bool checkCrossesZero() const; 32 bool checkCrossesZero() const;
33 void checkNearCoincidence();
34 bool checkParallel(SkOpAngle* ); 33 bool checkParallel(SkOpAngle* );
35 bool computeSector(); 34 bool computeSector();
36 int convexHullOverlaps(const SkOpAngle* ) const; 35 int convexHullOverlaps(const SkOpAngle* ) const;
37 36
38 const SkOpAngle* debugAngle(int id) const; 37 const SkOpAngle* debugAngle(int id) const;
39 SkOpContour* debugContour(int id); 38 SkOpContour* debugContour(int id);
40 39
41 int debugID() const { 40 int debugID() const {
42 return SkDEBUGRELEASE(fID, -1); 41 return SkDEBUGRELEASE(fID, -1);
43 } 42 }
44 43
45 #if DEBUG_SORT 44 #if DEBUG_SORT
46 void debugLoop() const; 45 void debugLoop() const;
47 #endif 46 #endif
48 47
49 #if DEBUG_ANGLE 48 #if DEBUG_ANGLE
49 void debugCheckNearCoincidence() const;
50 SkString debugPart() const; 50 SkString debugPart() const;
51 #endif 51 #endif
52 const SkOpPtT* debugPtT(int id) const; 52 const SkOpPtT* debugPtT(int id) const;
53 const SkOpSegment* debugSegment(int id) const; 53 const SkOpSegment* debugSegment(int id) const;
54 int debugSign() const; 54 int debugSign() const;
55 const SkOpSpanBase* debugSpan(int id) const; 55 const SkOpSpanBase* debugSpan(int id) const;
56 void debugValidate() const; 56 void debugValidate() const;
57 void debugValidateNext() const; // in debug builds, verify that angle loop is uncorrupted 57 void debugValidateNext() const; // in debug builds, verify that angle loop is uncorrupted
58 double distEndRatio(double dist) const; 58 double distEndRatio(double dist) const;
59 // available to testing only 59 // available to testing only
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 bool fComputeSector; 141 bool fComputeSector;
142 bool fComputedSector; 142 bool fComputedSector;
143 bool fCheckCoincidence; 143 bool fCheckCoincidence;
144 SkDEBUGCODE(int fID); 144 SkDEBUGCODE(int fID);
145 145
146 }; 146 };
147 147
148 148
149 149
150 #endif 150 #endif
OLDNEW
« no previous file with comments | « src/pathops/SkIntersections.h ('k') | src/pathops/SkOpAngle.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698