static int rightAngleWinding(const SkTArray<SkOpContour*, true>& contourList, SkOpSegment** current, int* index, int* endIndex, double* tHit, SkScalar* hitDx, bool* tryAgain, bool opp) { double test = 0.9; int contourWinding; do { contourWinding = contourRangeCheckY(contourList, current, index, endIndex, tHit, hitDx, tryAgain, &test, opp); if (contourWinding != SK_MinS32 || *tryAgain) { return contourWinding; } test /= 2; } while (!approximately_negative(test)); SkASSERT(0); // should be OK to comment out, but interested when this hits return contourWinding; }
static int rightAngleWinding(const SkTArray<SkOpContour*, true>& contourList, SkOpSegment** currentPtr, int* indexPtr, int* endIndexPtr, double* tHit, SkScalar* hitDx, bool* tryAgain, bool* onlyVertical, bool opp) { double test = 0.9; int contourWinding; do { contourWinding = contourRangeCheckY(contourList, currentPtr, indexPtr, endIndexPtr, tHit, hitDx, tryAgain, &test, opp); if (contourWinding != SK_MinS32 || *tryAgain) { return contourWinding; } if (*currentPtr && (*currentPtr)->isVertical()) { *onlyVertical = true; return contourWinding; } test /= 2; } while (!approximately_negative(test)); SkASSERT(0); // FIXME: incomplete functionality return contourWinding; }