1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | import { ColorCommonInstance } from 'd3-color';
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | export interface ZoomInterpolator extends Function {
|
15 | (t: number): ZoomView;
|
16 | |
17 |
|
18 |
|
19 | duration: number;
|
20 | }
|
21 |
|
22 | export interface ColorGammaInterpolationFactory extends Function {
|
23 | (a: string | ColorCommonInstance, b: string | ColorCommonInstance): ((t: number) => string);
|
24 | gamma(g: number): ColorGammaInterpolationFactory;
|
25 | }
|
26 |
|
27 | /**
|
28 | * Type zoomView is used to represent a numeric array with three elements.
|
29 | * In order of appearance the elements correspond to:
|
30 | * - cx: x-coordinate of the center of the viewport
|
31 | * - cy: y-coordinate of the center of the viewport
|
32 | * - width: size of the viewport
|
33 | */
|
34 | export type ZoomView = [number, number, number];
|
35 |
|
36 | // --------------------------------------------------------------------------
|
37 | // Interpolation Function Factories
|
38 | // --------------------------------------------------------------------------
|
39 |
|
40 | export function interpolate(a: any, b: null): ((t: number) => null);
|
41 | export function interpolate(a: number | { valueOf(): number }, b: number): ((t: number) => number);
|
42 | export function interpolate(a: any, b: ColorCommonInstance): ((t: number) => string);
|
43 | export function interpolate(a: Date, b: Date): ((t: number) => Date);
|
44 | export function interpolate(a: string | { toString(): string }, b: string): ((t: number) => string);
|
45 | export function interpolate<U extends Array<any>>(a: Array<any>, b: U): ((t: number) => U);
|
46 | export function interpolate(a: number | { valueOf(): number }, b: { valueOf(): number }): ((t: number) => number);
|
47 | export function interpolate<U extends Object>(a: any, b: U): ((t: number) => U);
|
48 | export function interpolate(a: any, b: { [key: string]: any }): ((t: number) => { [key: string]: any });
|
49 |
|
50 |
|
51 | export function interpolateNumber(a: number | { valueOf(): number }, b: number | { valueOf(): number }): ((t: number) => number);
|
52 |
|
53 | export function interpolateRound(a: number | { valueOf(): number }, b: number | { valueOf(): number }): ((t: number) => number);
|
54 |
|
55 | export function interpolateString(a: string | { toString(): string }, b: string | { toString(): string }): ((t: number) => string);
|
56 |
|
57 | export function interpolateDate(a: Date, b: Date): ((t: number) => Date);
|
58 |
|
59 | export function interpolateArray<A extends Array<any>>(a: Array<any>, b: A): ((t: number) => A);
|
60 |
|
61 | export function interpolateObject<U extends Object>(a: any, b: U): ((t: number) => U);
|
62 | export function interpolateObject(a: { [key: string]: any }, b: { [key: string]: any }): ((t: number) => { [key: string]: any });
|
63 |
|
64 |
|
65 |
|
66 | export function interpolateTransformCss(a: string, b: string): ((t: number) => string);
|
67 | export function interpolateTransformSvg(a: string, b: string): ((t: number) => string);
|
68 |
|
69 | /**
|
70 | * Create Interpolator for zoom views
|
71 | */
|
72 | export function interpolateZoom(a: ZoomView, b: ZoomView): ZoomInterpolator;
|
73 |
|
74 |
|
75 | export function quantize<T>(interpolator: ((t: number) => T), n: number): Array<T>;
|
76 |
|
77 | // Color interpolation related
|
78 |
|
79 | export var interpolateRgb: ColorGammaInterpolationFactory;
|
80 |
|
81 | export function interpolateRgbBasis(colors: Array<string | ColorCommonInstance>): ((t: number) => string);
|
82 | export function interpolateRgbBasisClosed(colors: Array<string | ColorCommonInstance>): ((t: number) => string);
|
83 |
|
84 | export function interpolateHsl(a: string | ColorCommonInstance, b: string | ColorCommonInstance): ((t: number) => string);
|
85 | export function interpolateHslLong(a: string | ColorCommonInstance, b: string | ColorCommonInstance): ((t: number) => string);
|
86 | export function interpolateLab(a: string | ColorCommonInstance, b: string | ColorCommonInstance): ((t: number) => string);
|
87 | export function interpolateHcl(a: string | ColorCommonInstance, b: string | ColorCommonInstance): ((t: number) => string);
|
88 | export function interpolateHclLong(a: string | ColorCommonInstance, b: string | ColorCommonInstance): ((t: number) => string);
|
89 | export var interpolateCubehelix: ColorGammaInterpolationFactory;
|
90 | export var interpolateCubehelixLong: ColorGammaInterpolationFactory;
|
91 |
|
92 | // Spline related
|
93 |
|
94 | export function interpolateBasis(splineNodes: Array<number>): ((t: number) => number);
|
95 | export function interpolateBasisClosed(splineNodes: Array<number>): ((t: number) => number);
|
96 |
|
\ | No newline at end of file |