From d186c2d35626c8a9a8922d656bd5c1767d9c2419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Lehni?= Date: Fri, 8 Jan 2016 10:05:47 +0100 Subject: [PATCH] Reformat code of #895 a bit. - Respect 80 chars line-width - Indent comments with current indentation level - Use punctuation in comments --- src/path/PathItem.Boolean.js | 37 +++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/src/path/PathItem.Boolean.js b/src/path/PathItem.Boolean.js index d3807af9..2f0ef61f 100644 --- a/src/path/PathItem.Boolean.js +++ b/src/path/PathItem.Boolean.js @@ -353,9 +353,9 @@ PathItem.inject(new function() { // Retrieve and use it here (See _getMonoCurve()). var curve = curves[start], last = curve.last, - // Get the values of to the end x coordinate and winding of - // the last non-horizontal curve, which will be the previous - // non-horizontal curve for the first curve of the loop. + // Get the values of to the end x coordinate and winding of + // the last non-horizontal curve, which will be the previous + // non-horizontal curve for the first curve of the loop. prevWinding = last.winding, prevXEnd = last.values[6]; end = start + curve.length; @@ -369,35 +369,38 @@ PathItem.inject(new function() { // compare the endpoints of the curve to determine if the // ray from query point along +-x direction will intersect // the monotone curve. - // horizontal curves with winding == 0 will be completely - // ignored + // Horizontal curves with winding == 0 will be completely + // ignored. if (winding && (py >= yStart && py <= yEnd || py >= yEnd && py <= yStart)) { - // calculate the x value for the ray's intersection + // Calculate the x value for the ray's intersection. var x; if (py === yStart) { x = values[0]; } else if (py === yEnd) { x = values[6]; - } else if (Curve.solveCubic(values, 1, py, roots, 0, 1) === 1) { + } else if (Curve.solveCubic(values, 1, py, roots, 0, 1) + === 1) { x = Curve.getPoint(values, roots[0]).x; } if (x != null) { - // count the intersection of the ray with the monotonic curve if - // - the crossing is not at the start of the curve - // - or the windings are opposite (intersect at a vertical extremum) - // - or the start of the current curve and the end of the prev - // curve are on opposite sides of px - var isWindingChange = winding === -prevWinding, - countIntersection = py !== yStart || isWindingChange || - (x - px) * (prevXEnd - px) < 0; - if (countIntersection) { + // Count the intersection of the ray with the + // monotonic curve if: + // - the crossing is not at the start of the curve + // - or the windings are opposite (intersect at a + // vertical extremum) + // - or the start of the current curve and the end + // of the prev curve are on opposite sides of px + var isWindingChange = winding === -prevWinding; + if (py !== yStart || isWindingChange || + (x - px) * (prevXEnd - px) < 0) { if (x < xBefore) { windLeft += winding; } else if (x > xAfter) { windRight += winding; } else if (py === yStart && isWindingChange) { - // intersection is at a vertical extremum + // The point is a vertical extremum of the + // path. ++windLeft; ++windRight; }