UNPKG

3.22 kBTypeScriptView Raw
1import { vec3, mat3, mat4, vec4 } from 'gl-matrix';
2export declare type TransformCallback = (x: number, y: number, width: number, height: number) => Transformer;
3export declare type Transform3DCallback = (x: number, y: number, z: number, width: number, height: number, depth: number) => Transformer3D;
4declare type Translate = ['translate', number, number];
5declare type Cartesian = ['cartesian'];
6declare type Custom = ['custom', TransformCallback];
7declare type Matrix = ['matrix', Matrix3];
8declare type Polar = ['polar', number, number, number, number];
9declare type Transpose = ['transpose'];
10declare type Scale = ['scale', number, number];
11declare type ShearX = ['shear.x', number];
12declare type ShearY = ['shear.y', number];
13declare type Reflect = ['reflect'];
14declare type ReflectX = ['reflect.x'];
15declare type ReflectY = ['reflect.y'];
16declare type Rotate = ['rotate', number];
17declare type Helix = ['helix', number, number, number, number];
18declare type Parallel = ['parallel', number, number, number, number];
19declare type Fisheye = ['fisheye', number, number, number, number, boolean?];
20declare type FisheyeX = ['fisheye.x', number, number, boolean?];
21declare type FisheyeY = ['fisheye.y', number, number, boolean?];
22declare type FisheyeCircular = ['fisheye.circular', number, number, number, number, boolean?];
23declare type Cartesian3D = ['cartesian3D'];
24declare type Translate3D = ['translate3D', number, number, number];
25declare type Transpose3D = ['transpose3D'];
26declare type Scale3D = ['scale3D', number, number, number];
27export declare type Transformation = Translate | Cartesian | Custom | Matrix | Polar | Transpose | Scale | ShearX | ShearY | Reflect | ReflectX | ReflectY | Rotate | Helix | Parallel | Fisheye | FisheyeX | FisheyeY | FisheyeCircular;
28export declare type Transformation3D = Cartesian3D | Translate3D | Scale3D | Transpose3D;
29export declare type Options = {
30 x?: number;
31 y?: number;
32 width?: number;
33 height?: number;
34 transformations?: Transformation[];
35};
36export declare type Options3D = {
37 x?: number;
38 y?: number;
39 z?: number;
40 width?: number;
41 height?: number;
42 depth?: number;
43 transformations?: Transformation3D[];
44};
45export declare type Vector2 = [number, number];
46export declare type Vector3 = vec3;
47export declare type Vector4 = vec4;
48export declare type Vector = number[];
49export declare type Matrix3 = mat3;
50export declare type Matrix4 = mat4;
51export declare type Transform = (vector: Vector2 | Vector) => Vector2 | Vector;
52export declare type Transform3D = (vector: Vector3 | Vector) => Vector3 | Vector;
53export declare type Transformer = {
54 transform?: Transform;
55 untransform?: Transform;
56};
57export declare type Transformer3D = {
58 transform?: Transform3D;
59 untransform?: Transform3D;
60};
61export declare type CreateTransformer = (params: number[] | (number | boolean)[] | [TransformCallback] | [Matrix3], x: number, y: number, width: number, height: number) => Transformer | Matrix3;
62export declare type CreateTransformer3D = (params: number[] | (number | boolean)[] | [TransformCallback] | [Matrix3], x: number, y: number, z: number, width: number, height: number, depth: number) => Transformer3D | Matrix4;
63export {};