|
10 | 10 | d3_style_setProperty.call(this, name, value + "", priority); |
11 | 11 | }; |
12 | 12 | } |
13 | | -d3 = {version: "2.1.3"}; // semver |
| 13 | +d3 = {version: "2.2.0"}; // semver |
14 | 14 | var d3_arraySubclass = [].__proto__? |
15 | 15 |
|
16 | 16 | // Until ECMAScript supports array subclassing, prototype injection works well. |
@@ -2775,33 +2775,30 @@ var d3_svg_lineInterpolators = { |
2775 | 2775 |
|
2776 | 2776 | // Linear interpolation; generates "L" commands. |
2777 | 2777 | function d3_svg_lineLinear(points) { |
2778 | | - var path = [], |
2779 | | - i = 0, |
| 2778 | + var i = 0, |
2780 | 2779 | n = points.length, |
2781 | | - p = points[0]; |
2782 | | - path.push(p[0], ",", p[1]); |
| 2780 | + p = points[0], |
| 2781 | + path = [p[0], ",", p[1]]; |
2783 | 2782 | while (++i < n) path.push("L", (p = points[i])[0], ",", p[1]); |
2784 | 2783 | return path.join(""); |
2785 | 2784 | } |
2786 | 2785 |
|
2787 | 2786 | // Step interpolation; generates "H" and "V" commands. |
2788 | 2787 | function d3_svg_lineStepBefore(points) { |
2789 | | - var path = [], |
2790 | | - i = 0, |
| 2788 | + var i = 0, |
2791 | 2789 | n = points.length, |
2792 | | - p = points[0]; |
2793 | | - path.push(p[0], ",", p[1]); |
| 2790 | + p = points[0], |
| 2791 | + path = [p[0], ",", p[1]]; |
2794 | 2792 | while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]); |
2795 | 2793 | return path.join(""); |
2796 | 2794 | } |
2797 | 2795 |
|
2798 | 2796 | // Step interpolation; generates "H" and "V" commands. |
2799 | 2797 | function d3_svg_lineStepAfter(points) { |
2800 | | - var path = [], |
2801 | | - i = 0, |
| 2798 | + var i = 0, |
2802 | 2799 | n = points.length, |
2803 | | - p = points[0]; |
2804 | | - path.push(p[0], ",", p[1]); |
| 2800 | + p = points[0], |
| 2801 | + path = [p[0], ",", p[1]]; |
2805 | 2802 | while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]); |
2806 | 2803 | return path.join(""); |
2807 | 2804 | } |
@@ -2899,15 +2896,14 @@ function d3_svg_lineCardinalTangents(points, tension) { |
2899 | 2896 | // B-spline interpolation; generates "C" commands. |
2900 | 2897 | function d3_svg_lineBasis(points) { |
2901 | 2898 | if (points.length < 3) return d3_svg_lineLinear(points); |
2902 | | - var path = [], |
2903 | | - i = 1, |
| 2899 | + var i = 1, |
2904 | 2900 | n = points.length, |
2905 | 2901 | pi = points[0], |
2906 | 2902 | x0 = pi[0], |
2907 | 2903 | y0 = pi[1], |
2908 | 2904 | px = [x0, x0, x0, (pi = points[1])[0]], |
2909 | | - py = [y0, y0, y0, pi[1]]; |
2910 | | - path.push(x0, ",", y0); |
| 2905 | + py = [y0, y0, y0, pi[1]], |
| 2906 | + path = [x0, ",", y0]; |
2911 | 2907 | d3_svg_lineBasisBezier(path, px, py); |
2912 | 2908 | while (++i < n) { |
2913 | 2909 | pi = points[i]; |
|
0 commit comments