1 | import {rgb} from "d3-color";
|
2 | import {gamma as interpolateGamma} from "./color";
|
3 |
|
4 | export default (function gamma(y) {
|
5 | var interpolateColor = interpolateGamma(y);
|
6 |
|
7 | function interpolateRgb(start, end) {
|
8 | var r = interpolateColor((start = rgb(start)).r, (end = rgb(end)).r),
|
9 | g = interpolateColor(start.g, end.g),
|
10 | b = interpolateColor(start.b, end.b),
|
11 | opacity = interpolateColor(start.opacity, end.opacity);
|
12 | return function(t) {
|
13 | start.r = r(t);
|
14 | start.g = g(t);
|
15 | start.b = b(t);
|
16 | start.opacity = opacity(t);
|
17 | return start + "";
|
18 | };
|
19 | }
|
20 |
|
21 | interpolateRgb.gamma = gamma;
|
22 |
|
23 | return interpolateRgb;
|
24 | })(1);
|