| 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 | 7 | 
| 8 #include "SkIntersections.h" | 8 #include "SkIntersections.h" | 
| 9 | 9 | 
| 10 void SkIntersections::append(const SkIntersections& i) { | 10 void SkIntersections::append(const SkIntersections& i) { | 
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 145     fMax = 2; | 145     fMax = 2; | 
| 146     return intersectRay(quad, line); | 146     return intersectRay(quad, line); | 
| 147 } | 147 } | 
| 148 | 148 | 
| 149 void SkIntersections::quickRemoveOne(int index, int replace) { | 149 void SkIntersections::quickRemoveOne(int index, int replace) { | 
| 150     if (index < replace) { | 150     if (index < replace) { | 
| 151         fT[0][index] = fT[0][replace]; | 151         fT[0][index] = fT[0][replace]; | 
| 152     } | 152     } | 
| 153 } | 153 } | 
| 154 | 154 | 
| 155 #if 0 |  | 
| 156 void SkIntersections::remove(double one, double two, const SkDPoint& startPt, |  | 
| 157         const SkDPoint& endPt) { |  | 
| 158     for (int index = fUsed - 1; index >= 0; --index) { |  | 
| 159         if (!(fIsCoincident[0] & (1 << index)) && (between(one, fT[fSwap][index]
     , two) |  | 
| 160                 || startPt.approximatelyEqual(fPt[index]) |  | 
| 161                 || endPt.approximatelyEqual(fPt[index]))) { |  | 
| 162             SkASSERT(fUsed > 0); |  | 
| 163             removeOne(index); |  | 
| 164         } |  | 
| 165     } |  | 
| 166 } |  | 
| 167 #endif |  | 
| 168 |  | 
| 169 void SkIntersections::removeOne(int index) { | 155 void SkIntersections::removeOne(int index) { | 
| 170     int remaining = --fUsed - index; | 156     int remaining = --fUsed - index; | 
| 171     if (remaining <= 0) { | 157     if (remaining <= 0) { | 
| 172         return; | 158         return; | 
| 173     } | 159     } | 
| 174     memmove(&fPt[index], &fPt[index + 1], sizeof(fPt[0]) * remaining); | 160     memmove(&fPt[index], &fPt[index + 1], sizeof(fPt[0]) * remaining); | 
| 175     memmove(&fT[0][index], &fT[0][index + 1], sizeof(fT[0][0]) * remaining); | 161     memmove(&fT[0][index], &fT[0][index + 1], sizeof(fT[0][0]) * remaining); | 
| 176     memmove(&fT[1][index], &fT[1][index + 1], sizeof(fT[1][0]) * remaining); | 162     memmove(&fT[1][index], &fT[1][index + 1], sizeof(fT[1][0]) * remaining); | 
| 177     SkASSERT(fIsCoincident[0] == 0); | 163     SkASSERT(fIsCoincident[0] == 0); | 
| 178     int coBit = fIsCoincident[0] & (1 << index); | 164     int coBit = fIsCoincident[0] & (1 << index); | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 201     quad.set(a); | 187     quad.set(a); | 
| 202     return vertical(quad, top, bottom, x, flipped); | 188     return vertical(quad, top, bottom, x, flipped); | 
| 203 } | 189 } | 
| 204 | 190 | 
| 205 int SkIntersections::verticalCubic(const SkPoint a[4], SkScalar top, SkScalar bo
     ttom, | 191 int SkIntersections::verticalCubic(const SkPoint a[4], SkScalar top, SkScalar bo
     ttom, | 
| 206         SkScalar x, bool flipped) { | 192         SkScalar x, bool flipped) { | 
| 207     SkDCubic cubic; | 193     SkDCubic cubic; | 
| 208     cubic.set(a); | 194     cubic.set(a); | 
| 209     return vertical(cubic, top, bottom, x, flipped); | 195     return vertical(cubic, top, bottom, x, flipped); | 
| 210 } | 196 } | 
| OLD | NEW | 
|---|