|
1483 | 1483 | }, "mousewheel") : (d3_behavior_zoomDelta = function() {
|
1484 | 1484 | return -d3.event.detail;
|
1485 | 1485 | }, "MozMousePixelScroll");
|
1486 |
| - function d3_Color() {} |
1487 |
| - d3_Color.prototype.toString = function() { |
| 1486 | + d3.color = d3_color; |
| 1487 | + function d3_color() {} |
| 1488 | + d3_color.prototype.toString = function() { |
1488 | 1489 | return this.rgb() + "";
|
1489 | 1490 | };
|
1490 |
| - d3.hsl = function(h, s, l) { |
1491 |
| - return arguments.length === 1 ? h instanceof d3_Hsl ? d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : d3_hsl(+h, +s, +l); |
1492 |
| - }; |
| 1491 | + d3.hsl = d3_hsl; |
1493 | 1492 | function d3_hsl(h, s, l) {
|
1494 |
| - return new d3_Hsl(h, s, l); |
1495 |
| - } |
1496 |
| - function d3_Hsl(h, s, l) { |
1497 |
| - this.h = h; |
1498 |
| - this.s = s; |
1499 |
| - this.l = l; |
| 1493 | + return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l); |
1500 | 1494 | }
|
1501 |
| - var d3_hslPrototype = d3_Hsl.prototype = new d3_Color(); |
| 1495 | + var d3_hslPrototype = d3_hsl.prototype = new d3_color(); |
1502 | 1496 | d3_hslPrototype.brighter = function(k) {
|
1503 | 1497 | k = Math.pow(.7, arguments.length ? k : 1);
|
1504 |
| - return d3_hsl(this.h, this.s, this.l / k); |
| 1498 | + return new d3_hsl(this.h, this.s, this.l / k); |
1505 | 1499 | };
|
1506 | 1500 | d3_hslPrototype.darker = function(k) {
|
1507 | 1501 | k = Math.pow(.7, arguments.length ? k : 1);
|
1508 |
| - return d3_hsl(this.h, this.s, k * this.l); |
| 1502 | + return new d3_hsl(this.h, this.s, k * this.l); |
1509 | 1503 | };
|
1510 | 1504 | d3_hslPrototype.rgb = function() {
|
1511 | 1505 | return d3_hsl_rgb(this.h, this.s, this.l);
|
|
1527 | 1521 | function vv(h) {
|
1528 | 1522 | return Math.round(v(h) * 255);
|
1529 | 1523 | }
|
1530 |
| - return d3_rgb(vv(h + 120), vv(h), vv(h - 120)); |
| 1524 | + return new d3_rgb(vv(h + 120), vv(h), vv(h - 120)); |
1531 | 1525 | }
|
1532 |
| - d3.hcl = function(h, c, l) { |
1533 |
| - return arguments.length === 1 ? h instanceof d3_Hcl ? d3_hcl(h.h, h.c, h.l) : h instanceof d3_Lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : d3_hcl(+h, +c, +l); |
1534 |
| - }; |
| 1526 | + d3.hcl = d3_hcl; |
1535 | 1527 | function d3_hcl(h, c, l) {
|
1536 |
| - return new d3_Hcl(h, c, l); |
| 1528 | + return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l); |
1537 | 1529 | }
|
1538 |
| - function d3_Hcl(h, c, l) { |
1539 |
| - this.h = h; |
1540 |
| - this.c = c; |
1541 |
| - this.l = l; |
1542 |
| - } |
1543 |
| - var d3_hclPrototype = d3_Hcl.prototype = new d3_Color(); |
| 1530 | + var d3_hclPrototype = d3_hcl.prototype = new d3_color(); |
1544 | 1531 | d3_hclPrototype.brighter = function(k) {
|
1545 |
| - return d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1))); |
| 1532 | + return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1))); |
1546 | 1533 | };
|
1547 | 1534 | d3_hclPrototype.darker = function(k) {
|
1548 |
| - return d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1))); |
| 1535 | + return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1))); |
1549 | 1536 | };
|
1550 | 1537 | d3_hclPrototype.rgb = function() {
|
1551 | 1538 | return d3_hcl_lab(this.h, this.c, this.l).rgb();
|
1552 | 1539 | };
|
1553 | 1540 | function d3_hcl_lab(h, c, l) {
|
1554 | 1541 | if (isNaN(h)) h = 0;
|
1555 | 1542 | if (isNaN(c)) c = 0;
|
1556 |
| - return d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c); |
| 1543 | + return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c); |
1557 | 1544 | }
|
1558 |
| - d3.lab = function(l, a, b) { |
1559 |
| - return arguments.length === 1 ? l instanceof d3_Lab ? d3_lab(l.l, l.a, l.b) : l instanceof d3_Hcl ? d3_hcl_lab(l.l, l.c, l.h) : d3_rgb_lab((l = d3.rgb(l)).r, l.g, l.b) : d3_lab(+l, +a, +b); |
1560 |
| - }; |
| 1545 | + d3.lab = d3_lab; |
1561 | 1546 | function d3_lab(l, a, b) {
|
1562 |
| - return new d3_Lab(l, a, b); |
1563 |
| - } |
1564 |
| - function d3_Lab(l, a, b) { |
1565 |
| - this.l = l; |
1566 |
| - this.a = a; |
1567 |
| - this.b = b; |
| 1547 | + return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.l, l.c, l.h) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b); |
1568 | 1548 | }
|
1569 | 1549 | var d3_lab_K = 18;
|
1570 | 1550 | var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;
|
1571 |
| - var d3_labPrototype = d3_Lab.prototype = new d3_Color(); |
| 1551 | + var d3_labPrototype = d3_lab.prototype = new d3_color(); |
1572 | 1552 | d3_labPrototype.brighter = function(k) {
|
1573 |
| - return d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); |
| 1553 | + return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); |
1574 | 1554 | };
|
1575 | 1555 | d3_labPrototype.darker = function(k) {
|
1576 |
| - return d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); |
| 1556 | + return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); |
1577 | 1557 | };
|
1578 | 1558 | d3_labPrototype.rgb = function() {
|
1579 | 1559 | return d3_lab_rgb(this.l, this.a, this.b);
|
|
1583 | 1563 | x = d3_lab_xyz(x) * d3_lab_X;
|
1584 | 1564 | y = d3_lab_xyz(y) * d3_lab_Y;
|
1585 | 1565 | z = d3_lab_xyz(z) * d3_lab_Z;
|
1586 |
| - return d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); |
| 1566 | + return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); |
1587 | 1567 | }
|
1588 | 1568 | function d3_lab_hcl(l, a, b) {
|
1589 |
| - return l > 0 ? d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : d3_hcl(NaN, NaN, l); |
| 1569 | + return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l); |
1590 | 1570 | }
|
1591 | 1571 | function d3_lab_xyz(x) {
|
1592 | 1572 | return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;
|
|
1597 | 1577 | function d3_xyz_rgb(r) {
|
1598 | 1578 | return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));
|
1599 | 1579 | }
|
1600 |
| - d3.rgb = function(r, g, b) { |
1601 |
| - return arguments.length === 1 ? r instanceof d3_Rgb ? d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : d3_rgb(~~r, ~~g, ~~b); |
1602 |
| - }; |
| 1580 | + d3.rgb = d3_rgb; |
| 1581 | + function d3_rgb(r, g, b) { |
| 1582 | + return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b); |
| 1583 | + } |
1603 | 1584 | function d3_rgbNumber(value) {
|
1604 |
| - return d3_rgb(value >> 16, value >> 8 & 255, value & 255); |
| 1585 | + return new d3_rgb(value >> 16, value >> 8 & 255, value & 255); |
1605 | 1586 | }
|
1606 | 1587 | function d3_rgbString(value) {
|
1607 | 1588 | return d3_rgbNumber(value) + "";
|
1608 | 1589 | }
|
1609 |
| - function d3_rgb(r, g, b) { |
1610 |
| - return new d3_Rgb(r, g, b); |
1611 |
| - } |
1612 |
| - function d3_Rgb(r, g, b) { |
1613 |
| - this.r = r; |
1614 |
| - this.g = g; |
1615 |
| - this.b = b; |
1616 |
| - } |
1617 |
| - var d3_rgbPrototype = d3_Rgb.prototype = new d3_Color(); |
| 1590 | + var d3_rgbPrototype = d3_rgb.prototype = new d3_color(); |
1618 | 1591 | d3_rgbPrototype.brighter = function(k) {
|
1619 | 1592 | k = Math.pow(.7, arguments.length ? k : 1);
|
1620 | 1593 | var r = this.r, g = this.g, b = this.b, i = 30;
|
1621 |
| - if (!r && !g && !b) return d3_rgb(i, i, i); |
| 1594 | + if (!r && !g && !b) return new d3_rgb(i, i, i); |
1622 | 1595 | if (r && r < i) r = i;
|
1623 | 1596 | if (g && g < i) g = i;
|
1624 | 1597 | if (b && b < i) b = i;
|
1625 |
| - return d3_rgb(Math.min(255, ~~(r / k)), Math.min(255, ~~(g / k)), Math.min(255, ~~(b / k))); |
| 1598 | + return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k)); |
1626 | 1599 | };
|
1627 | 1600 | d3_rgbPrototype.darker = function(k) {
|
1628 | 1601 | k = Math.pow(.7, arguments.length ? k : 1);
|
1629 |
| - return d3_rgb(~~(k * this.r), ~~(k * this.g), ~~(k * this.b)); |
| 1602 | + return new d3_rgb(k * this.r, k * this.g, k * this.b); |
1630 | 1603 | };
|
1631 | 1604 | d3_rgbPrototype.hsl = function() {
|
1632 | 1605 | return d3_rgb_hsl(this.r, this.g, this.b);
|
|
1681 | 1654 | h = NaN;
|
1682 | 1655 | s = l > 0 && l < 1 ? 0 : h;
|
1683 | 1656 | }
|
1684 |
| - return d3_hsl(h, s, l); |
| 1657 | + return new d3_hsl(h, s, l); |
1685 | 1658 | }
|
1686 | 1659 | function d3_rgb_lab(r, g, b) {
|
1687 | 1660 | r = d3_rgb_xyz(r);
|
|
5679 | 5652 | }
|
5680 | 5653 | d3.interpolators = [ function(a, b) {
|
5681 | 5654 | var t = typeof b;
|
5682 |
| - return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_Color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); |
| 5655 | + return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); |
5683 | 5656 | } ];
|
5684 | 5657 | d3.interpolateArray = d3_interpolateArray;
|
5685 | 5658 | function d3_interpolateArray(a, b) {
|
|
0 commit comments