| OLD | NEW |
| 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 #include "SkOpCoincidence.h" | 7 #include "SkOpCoincidence.h" |
| 8 #include "SkOpContour.h" | 8 #include "SkOpContour.h" |
| 9 #include "SkOpSegment.h" | 9 #include "SkOpSegment.h" |
| 10 #include "SkPathWriter.h" | 10 #include "SkPathWriter.h" |
| (...skipping 894 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 905 } | 905 } |
| 906 | 906 |
| 907 void SkOpSegment::init(SkPoint pts[], SkScalar weight, SkOpContour* contour, SkP
ath::Verb verb) { | 907 void SkOpSegment::init(SkPoint pts[], SkScalar weight, SkOpContour* contour, SkP
ath::Verb verb) { |
| 908 fContour = contour; | 908 fContour = contour; |
| 909 fNext = nullptr; | 909 fNext = nullptr; |
| 910 fOriginal[0] = pts[0]; | 910 fOriginal[0] = pts[0]; |
| 911 fOriginal[1] = pts[SkPathOpsVerbToPoints(verb)]; | 911 fOriginal[1] = pts[SkPathOpsVerbToPoints(verb)]; |
| 912 fPts = pts; | 912 fPts = pts; |
| 913 fWeight = weight; | 913 fWeight = weight; |
| 914 fVerb = verb; | 914 fVerb = verb; |
| 915 fCubicType = SkDCubic::kUnsplit_SkDCubicType; | |
| 916 fCount = 0; | 915 fCount = 0; |
| 917 fDoneCount = 0; | 916 fDoneCount = 0; |
| 918 fTopsFound = false; | |
| 919 fVisited = false; | 917 fVisited = false; |
| 920 SkOpSpan* zeroSpan = &fHead; | 918 SkOpSpan* zeroSpan = &fHead; |
| 921 zeroSpan->init(this, nullptr, 0, fPts[0]); | 919 zeroSpan->init(this, nullptr, 0, fPts[0]); |
| 922 SkOpSpanBase* oneSpan = &fTail; | 920 SkOpSpanBase* oneSpan = &fTail; |
| 923 zeroSpan->setNext(oneSpan); | 921 zeroSpan->setNext(oneSpan); |
| 924 oneSpan->initBase(this, zeroSpan, 1, fPts[SkPathOpsVerbToPoints(fVerb)]); | 922 oneSpan->initBase(this, zeroSpan, 1, fPts[SkPathOpsVerbToPoints(fVerb)]); |
| 925 SkDEBUGCODE(fID = globalState()->nextSegmentID()); | 923 SkDEBUGCODE(fID = globalState()->nextSegmentID()); |
| 926 } | 924 } |
| 927 | 925 |
| 928 bool SkOpSegment::isClose(double t, const SkOpSegment* opp) const { | 926 bool SkOpSegment::isClose(double t, const SkOpSegment* opp) const { |
| (...skipping 847 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1776 int absOut = SkTAbs(outerWinding); | 1774 int absOut = SkTAbs(outerWinding); |
| 1777 int absIn = SkTAbs(innerWinding); | 1775 int absIn = SkTAbs(innerWinding); |
| 1778 bool result = absOut == absIn ? outerWinding < 0 : absOut < absIn; | 1776 bool result = absOut == absIn ? outerWinding < 0 : absOut < absIn; |
| 1779 return result; | 1777 return result; |
| 1780 } | 1778 } |
| 1781 | 1779 |
| 1782 int SkOpSegment::windSum(const SkOpAngle* angle) const { | 1780 int SkOpSegment::windSum(const SkOpAngle* angle) const { |
| 1783 const SkOpSpan* minSpan = angle->start()->starter(angle->end()); | 1781 const SkOpSpan* minSpan = angle->start()->starter(angle->end()); |
| 1784 return minSpan->windSum(); | 1782 return minSpan->windSum(); |
| 1785 } | 1783 } |
| OLD | NEW |