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

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

Issue 1182493015: pathops coincident fixes (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: all tests (including extended) work Created 5 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
« no previous file with comments | « src/pathops/SkPathOpsRect.h ('k') | src/pathops/SkPathOpsTypes.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 SkPathOpsTypes_DEFINED 7 #ifndef SkPathOpsTypes_DEFINED
8 #define SkPathOpsTypes_DEFINED 8 #define SkPathOpsTypes_DEFINED
9 9
10 #include <float.h> // for FLT_EPSILON 10 #include <float.h> // for FLT_EPSILON
(...skipping 10 matching lines...) Expand all
21 kNo_PathOpsMask = 0, 21 kNo_PathOpsMask = 0,
22 kEvenOdd_PathOpsMask = 1 22 kEvenOdd_PathOpsMask = 1
23 }; 23 };
24 24
25 class SkOpCoincidence; 25 class SkOpCoincidence;
26 class SkOpContour; 26 class SkOpContour;
27 class SkOpContourHead; 27 class SkOpContourHead;
28 28
29 class SkOpGlobalState { 29 class SkOpGlobalState {
30 public: 30 public:
31 SkOpGlobalState(SkOpCoincidence* coincidence, SkOpContourHead* head) 31 SkOpGlobalState(SkOpCoincidence* coincidence, SkOpContourHead* head);
32 : fCoincidence(coincidence)
33 , fContourHead(head)
34 , fNested(0)
35 , fWindingFailed(false)
36 , fAngleCoincidence(false)
37 , fPhase(kIntersecting)
38 SkDEBUGPARAMS(fAngleID(0))
39 SkDEBUGPARAMS(fContourID(0))
40 SkDEBUGPARAMS(fPtTID(0))
41 SkDEBUGPARAMS(fSegmentID(0))
42 SkDEBUGPARAMS(fSpanID(0)) {
43 }
44 32
45 enum Phase { 33 enum Phase {
46 kIntersecting, 34 kIntersecting,
47 kWalking, 35 kWalking,
48 kFixWinding, 36 kFixWinding,
49 }; 37 };
50 38
51 enum { 39 enum {
52 kMaxWindingTries = 10 40 kMaxWindingTries = 10
53 }; 41 };
(...skipping 15 matching lines...) Expand all
69 } 57 }
70 58
71 SkOpContourHead* contourHead() { 59 SkOpContourHead* contourHead() {
72 return fContourHead; 60 return fContourHead;
73 } 61 }
74 62
75 #ifdef SK_DEBUG 63 #ifdef SK_DEBUG
76 const struct SkOpAngle* debugAngle(int id) const; 64 const struct SkOpAngle* debugAngle(int id) const;
77 SkOpContour* debugContour(int id); 65 SkOpContour* debugContour(int id);
78 const class SkOpPtT* debugPtT(int id) const; 66 const class SkOpPtT* debugPtT(int id) const;
67 bool debugRunFail() const;
79 const class SkOpSegment* debugSegment(int id) const; 68 const class SkOpSegment* debugSegment(int id) const;
80 const class SkOpSpanBase* debugSpan(int id) const; 69 const class SkOpSpanBase* debugSpan(int id) const;
81 #endif 70 #endif
82 71
83 int nested() const { 72 int nested() const {
84 return fNested; 73 return fNested;
85 } 74 }
86 75
87 #ifdef SK_DEBUG 76 #ifdef SK_DEBUG
88 int nextAngleID() { 77 int nextAngleID() {
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 */ 501 */
513 inline int SkDSideBit(double x) { 502 inline int SkDSideBit(double x) {
514 return 1 << SKDSide(x); 503 return 1 << SKDSide(x);
515 } 504 }
516 505
517 inline double SkPinT(double t) { 506 inline double SkPinT(double t) {
518 return precisely_less_than_zero(t) ? 0 : precisely_greater_than_one(t) ? 1 : t; 507 return precisely_less_than_zero(t) ? 0 : precisely_greater_than_one(t) ? 1 : t;
519 } 508 }
520 509
521 #endif 510 #endif
OLDNEW
« no previous file with comments | « src/pathops/SkPathOpsRect.h ('k') | src/pathops/SkPathOpsTypes.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698