(a, b)
| 4690 | } |
| 4691 | d3.interpolateTransform = d3_interpolateTransform; |
| 4692 | function d3_interpolateTransform(a, b) { |
| 4693 | var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale; |
| 4694 | if (ta[0] != tb[0] || ta[1] != tb[1]) { |
| 4695 | s.push("translate(", null, ",", null, ")"); |
| 4696 | q.push({ |
| 4697 | i: 1, |
| 4698 | x: d3_interpolateNumber(ta[0], tb[0]) |
| 4699 | }, { |
| 4700 | i: 3, |
| 4701 | x: d3_interpolateNumber(ta[1], tb[1]) |
| 4702 | }); |
| 4703 | } else if (tb[0] || tb[1]) { |
| 4704 | s.push("translate(" + tb + ")"); |
| 4705 | } else { |
| 4706 | s.push(""); |
| 4707 | } |
| 4708 | if (ra != rb) { |
| 4709 | if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; |
| 4710 | q.push({ |
| 4711 | i: s.push(s.pop() + "rotate(", null, ")") - 2, |
| 4712 | x: d3_interpolateNumber(ra, rb) |
| 4713 | }); |
| 4714 | } else if (rb) { |
| 4715 | s.push(s.pop() + "rotate(" + rb + ")"); |
| 4716 | } |
| 4717 | if (wa != wb) { |
| 4718 | q.push({ |
| 4719 | i: s.push(s.pop() + "skewX(", null, ")") - 2, |
| 4720 | x: d3_interpolateNumber(wa, wb) |
| 4721 | }); |
| 4722 | } else if (wb) { |
| 4723 | s.push(s.pop() + "skewX(" + wb + ")"); |
| 4724 | } |
| 4725 | if (ka[0] != kb[0] || ka[1] != kb[1]) { |
| 4726 | n = s.push(s.pop() + "scale(", null, ",", null, ")"); |
| 4727 | q.push({ |
| 4728 | i: n - 4, |
| 4729 | x: d3_interpolateNumber(ka[0], kb[0]) |
| 4730 | }, { |
| 4731 | i: n - 2, |
| 4732 | x: d3_interpolateNumber(ka[1], kb[1]) |
| 4733 | }); |
| 4734 | } else if (kb[0] != 1 || kb[1] != 1) { |
| 4735 | s.push(s.pop() + "scale(" + kb + ")"); |
| 4736 | } |
| 4737 | n = q.length; |
| 4738 | return function(t) { |
| 4739 | var i = -1, o; |
| 4740 | while (++i < n) s[(o = q[i]).i] = o.x(t); |
| 4741 | return s.join(""); |
| 4742 | }; |
| 4743 | } |
| 4744 | d3.interpolateObject = d3_interpolateObject; |
| 4745 | function d3_interpolateObject(a, b) { |
| 4746 | var i = {}, c = {}, k; |
nothing calls this directly
no test coverage detected