Sha256: 4bd3c7399d8542d71b83ee2dbb5fbb87dc0855d2eeb2dc0a6f48adae8311341d

Contents?: true

Size: 541 Bytes

Versions: 4

Compression:

Stored size: 541 Bytes

Contents

import "../color/hcl";

d3.interpolateHcl = d3_interpolateHcl;

function d3_interpolateHcl(a, b) {
  a = d3.hcl(a);
  b = d3.hcl(b);
  var ah = a.h,
      ac = a.c,
      al = a.l,
      bh = b.h - ah,
      bc = b.c - ac,
      bl = b.l - al;
  if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac;
  if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah;
  else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; // shortest path
  return function(t) {
    a.h = ah + bh * t;
    a.c = ac + bc * t;
    a.l = al + bl * t;
    return a;
  };
}

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
stripchart-0.0.3 lib/stripchart/public/components/d3/src/interpolate/hcl.js
stripmem-0.0.3 lib/stripmem/public/components/d3/src/interpolate/hcl.js
stripmem-0.0.2 lib/stripmem/public/components/d3/src/interpolate/hcl.js
stripmem-0.0.1 lib/stripmem/public/components/d3/src/interpolate/hcl.js