react-native-redash
Version:
Utility library for React Native Reanimated
96 lines (95 loc) • 2.94 kB
TypeScript
declare type Vec2 = readonly [number, number];
declare type Vec3 = readonly [number, number, number];
declare type Vec4 = readonly [number, number, number, number];
export declare type Matrix4 = readonly [
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number
];
declare type Transform3dName = "translateX" | "translateY" | "translateZ" | "translate" | "scale" | "scaleX" | "scaleY" | "skewX" | "skewY" | "rotateZ" | "rotate" | "perspective" | "rotateX" | "rotateY" | "rotateZ" | "matrix";
declare type Transformations = {
[Name in Transform3dName]: Name extends "matrix" ? Matrix4 : Name extends "translate" ? Vec3 | Vec2 : number;
};
declare type Transform3d = Pick<Transformations, "translateX"> | Pick<Transformations, "translateY"> | Pick<Transformations, "translateZ"> | Pick<Transformations, "translate"> | Pick<Transformations, "scale"> | Pick<Transformations, "scaleX"> | Pick<Transformations, "scaleY"> | Pick<Transformations, "skewX"> | Pick<Transformations, "skewY"> | Pick<Transformations, "perspective"> | Pick<Transformations, "rotateX"> | Pick<Transformations, "rotateY"> | Pick<Transformations, "rotateZ"> | Pick<Transformations, "rotate"> | Pick<Transformations, "matrix">;
export declare type Transforms3d = Transform3d[];
/**
* @worklet
*/
export declare const identity4: Matrix4;
/**
* @worklet
*/
export declare const translate: (x: number, y: number, z: number) => Matrix4;
/**
* @worklet
*/
export declare const skewX: (s: number) => Matrix4;
/**
* @worklet
*/
export declare const skewY: (s: number) => Matrix4;
/**
* @worklet
*/
export declare const perspective: (p: number) => Matrix4;
/**
* @worklet
*/
export declare const rotate: (axis: Vec3, value: number) => Matrix4;
/**
* @worklet
*/
export declare const matrixVecMul4: (m: Matrix4, v: Vec4) => Vec4;
/**
* @worklet
*/
export declare const mapPoint3d: (m: Matrix4, v: Vec3) => readonly [number, number, number];
/**
* @worklet
*/
export declare const multiply4: (a: Matrix4, b: Matrix4) => Matrix4;
/**
* @worklet
*/
export declare const toMatrix3: (m: Matrix4) => number[];
/**
* @worklet
*/
export declare const processTransform3d: (transforms: Transforms3d) => Matrix4;
/**
* @worklet
*/
export declare const concat4: (m: Matrix4, transform: Transforms3d) => Matrix4;
/**
* @worklet
*/
export declare const rotateX: (value: number) => Matrix4;
/**
* @worklet
*/
export declare const rotateY: (value: number) => Matrix4;
/**
* @worklet
*/
export declare const rotateZ: (value: number) => Matrix4;
export declare const Matrix4: {
translate: (x: number, y: number, z: number) => Matrix4;
scale: (sx: number, sy: number, sz: number) => Matrix4;
rotateX: (value: number) => Matrix4;
rotateY: (value: number) => Matrix4;
rotateZ: (value: number) => Matrix4;
};
export {};