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

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

Issue 1316233002: Style Change: NULL->nullptr (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 2015-08-27 (Thursday) 10:25:06 EDT Created 5 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 | « src/pathops/SkIntersectionHelper.h ('k') | src/pathops/SkOpBuilder.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 #include "SkOpAngle.h" 7 #include "SkOpAngle.h"
8 #include "SkOpSegment.h" 8 #include "SkOpSegment.h"
9 #include "SkPathOpsCurve.h" 9 #include "SkPathOpsCurve.h"
10 #include "SkTSort.h" 10 #include "SkTSort.h"
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 } 342 }
343 if (oSpan == checkEnd) { 343 if (oSpan == checkEnd) {
344 continue; 344 continue;
345 } 345 }
346 if (!approximately_equal(oSpan->t(), checkEnd->t())) { 346 if (!approximately_equal(oSpan->t(), checkEnd->t())) {
347 continue; 347 continue;
348 } 348 }
349 goto recomputeSector; 349 goto recomputeSector;
350 } while (!oSpan->final() && (oSpan = oSpan->upCast()->next())); 350 } while (!oSpan->final() && (oSpan = oSpan->upCast()->next()));
351 checkEnd = stepUp ? !checkEnd->final() 351 checkEnd = stepUp ? !checkEnd->final()
352 ? checkEnd->upCast()->next() : NULL 352 ? checkEnd->upCast()->next() : nullptr
353 : checkEnd->prev(); 353 : checkEnd->prev();
354 } while (checkEnd); 354 } while (checkEnd);
355 recomputeSector: 355 recomputeSector:
356 SkOpSpanBase* computedEnd = stepUp ? checkEnd ? checkEnd->prev() : fEnd->seg ment()->head() 356 SkOpSpanBase* computedEnd = stepUp ? checkEnd ? checkEnd->prev() : fEnd->seg ment()->head()
357 : checkEnd ? checkEnd->upCast()->next() : fEnd->segment()->tail(); 357 : checkEnd ? checkEnd->upCast()->next() : fEnd->segment()->tail();
358 if (checkEnd == fEnd || computedEnd == fEnd || computedEnd == fStart) { 358 if (checkEnd == fEnd || computedEnd == fEnd || computedEnd == fStart) {
359 fUnorderable = true; 359 fUnorderable = true;
360 return false; 360 return false;
361 } 361 }
362 if (stepUp != (fStart->t() < computedEnd->t())) { 362 if (stepUp != (fStart->t() < computedEnd->t())) {
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 } 652 }
653 } else if (fNext) { 653 } else if (fNext) {
654 if (!angle->merge(this)) { 654 if (!angle->merge(this)) {
655 return; 655 return;
656 } 656 }
657 } else { 657 } else {
658 angle->insert(this); 658 angle->insert(this);
659 } 659 }
660 return; 660 return;
661 } 661 }
662 bool singleton = NULL == fNext; 662 bool singleton = nullptr == fNext;
663 if (singleton) { 663 if (singleton) {
664 fNext = this; 664 fNext = this;
665 } 665 }
666 SkOpAngle* next = fNext; 666 SkOpAngle* next = fNext;
667 if (next->fNext == this) { 667 if (next->fNext == this) {
668 if (singleton || angle->after(this)) { 668 if (singleton || angle->after(this)) {
669 this->fNext = angle; 669 this->fNext = angle;
670 angle->fNext = next; 670 angle->fNext = next;
671 } else { 671 } else {
672 next->fNext = angle; 672 next->fNext = angle;
(...skipping 23 matching lines...) Expand all
696 angle->fCheckCoincidence = true; 696 angle->fCheckCoincidence = true;
697 } 697 }
698 return; 698 return;
699 } 699 }
700 } while (true); 700 } while (true);
701 } 701 }
702 702
703 SkOpSpanBase* SkOpAngle::lastMarked() const { 703 SkOpSpanBase* SkOpAngle::lastMarked() const {
704 if (fLastMarked) { 704 if (fLastMarked) {
705 if (fLastMarked->chased()) { 705 if (fLastMarked->chased()) {
706 return NULL; 706 return nullptr;
707 } 707 }
708 fLastMarked->setChased(true); 708 fLastMarked->setChased(true);
709 } 709 }
710 return fLastMarked; 710 return fLastMarked;
711 } 711 }
712 712
713 bool SkOpAngle::loopContains(const SkOpAngle* angle) const { 713 bool SkOpAngle::loopContains(const SkOpAngle* angle) const {
714 if (!fNext) { 714 if (!fNext) {
715 return false; 715 return false;
716 } 716 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
752 SkASSERT(angle->fNext); 752 SkASSERT(angle->fNext);
753 SkOpAngle* working = angle; 753 SkOpAngle* working = angle;
754 do { 754 do {
755 if (this == working) { 755 if (this == working) {
756 return false; 756 return false;
757 } 757 }
758 working = working->fNext; 758 working = working->fNext;
759 } while (working != angle); 759 } while (working != angle);
760 do { 760 do {
761 SkOpAngle* next = working->fNext; 761 SkOpAngle* next = working->fNext;
762 working->fNext = NULL; 762 working->fNext = nullptr;
763 insert(working); 763 insert(working);
764 working = next; 764 working = next;
765 } while (working != angle); 765 } while (working != angle);
766 // it's likely that a pair of the angles are unorderable 766 // it's likely that a pair of the angles are unorderable
767 debugValidateNext(); 767 debugValidateNext();
768 return true; 768 return true;
769 } 769 }
770 770
771 double SkOpAngle::midT() const { 771 double SkOpAngle::midT() const {
772 return (fStart->t() + fEnd->t()) / 2; 772 return (fStart->t() + fEnd->t()) / 2;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 } 870 }
871 871
872 SkOpSegment* SkOpAngle::segment() const { 872 SkOpSegment* SkOpAngle::segment() const {
873 return fStart->segment(); 873 return fStart->segment();
874 } 874 }
875 875
876 void SkOpAngle::set(SkOpSpanBase* start, SkOpSpanBase* end) { 876 void SkOpAngle::set(SkOpSpanBase* start, SkOpSpanBase* end) {
877 fStart = start; 877 fStart = start;
878 fComputedEnd = fEnd = end; 878 fComputedEnd = fEnd = end;
879 SkASSERT(start != end); 879 SkASSERT(start != end);
880 fNext = NULL; 880 fNext = nullptr;
881 fComputeSector = fComputedSector = fCheckCoincidence = false; 881 fComputeSector = fComputedSector = fCheckCoincidence = false;
882 setSpans(); 882 setSpans();
883 setSector(); 883 setSector();
884 SkDEBUGCODE(fID = start ? start->globalState()->nextAngleID() : -1); 884 SkDEBUGCODE(fID = start ? start->globalState()->nextAngleID() : -1);
885 } 885 }
886 886
887 void SkOpAngle::setCurveHullSweep() { 887 void SkOpAngle::setCurveHullSweep() {
888 fUnorderedSweep = false; 888 fUnorderedSweep = false;
889 fSweep[0] = fCurvePart[1] - fCurvePart[0]; 889 fSweep[0] = fCurvePart[1] - fCurvePart[0];
890 const SkOpSegment* segment = fStart->segment(); 890 const SkOpSegment* segment = fStart->segment();
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
922 if (s3x2 * s2x1 < 0) { 922 if (s3x2 * s2x1 < 0) {
923 SkASSERT(s2x1 * s1x3 > 0); 923 SkASSERT(s2x1 * s1x3 > 0);
924 fSweep[0] = fSweep[1]; 924 fSweep[0] = fSweep[1];
925 fUnorderedSweep = true; 925 fUnorderedSweep = true;
926 } 926 }
927 fSweep[1] = thirdSweep; 927 fSweep[1] = thirdSweep;
928 } 928 }
929 929
930 void SkOpAngle::setSpans() { 930 void SkOpAngle::setSpans() {
931 fUnorderable = false; 931 fUnorderable = false;
932 fLastMarked = NULL; 932 fLastMarked = nullptr;
933 if (!fStart) { 933 if (!fStart) {
934 fUnorderable = true; 934 fUnorderable = true;
935 return; 935 return;
936 } 936 }
937 const SkOpSegment* segment = fStart->segment(); 937 const SkOpSegment* segment = fStart->segment();
938 const SkPoint* pts = segment->pts(); 938 const SkPoint* pts = segment->pts();
939 SkDEBUGCODE(fCurvePart.fVerb = SkPath::kCubic_Verb); 939 SkDEBUGCODE(fCurvePart.fVerb = SkPath::kCubic_Verb);
940 SkDEBUGCODE(fCurvePart[2].fX = fCurvePart[2].fY = fCurvePart[3].fX = fCurveP art[3].fY 940 SkDEBUGCODE(fCurvePart[2].fX = fCurvePart[2].fY = fCurvePart[3].fX = fCurveP art[3].fY
941 = SK_ScalarNaN); 941 = SK_ScalarNaN);
942 SkDEBUGCODE(fCurvePart.fVerb = segment->verb()); 942 SkDEBUGCODE(fCurvePart.fVerb = segment->verb());
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 return true; 1091 return true;
1092 } 1092 }
1093 SkASSERT(s0dt0 != 0); 1093 SkASSERT(s0dt0 != 0);
1094 double m = s0xt0 / s0dt0; 1094 double m = s0xt0 / s0dt0;
1095 double sDist = sweep[0].length() * m; 1095 double sDist = sweep[0].length() * m;
1096 double tDist = tweep[0].length() * m; 1096 double tDist = tweep[0].length() * m;
1097 bool useS = fabs(sDist) < fabs(tDist); 1097 bool useS = fabs(sDist) < fabs(tDist);
1098 double mFactor = fabs(useS ? this->distEndRatio(sDist) : rh->distEndRatio(tD ist)); 1098 double mFactor = fabs(useS ? this->distEndRatio(sDist) : rh->distEndRatio(tD ist));
1099 return mFactor < 2400; // empirically found limit 1099 return mFactor < 2400; // empirically found limit
1100 } 1100 }
OLDNEW
« no previous file with comments | « src/pathops/SkIntersectionHelper.h ('k') | src/pathops/SkOpBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698