UNPKG

skia-path2d

Version:

Extract the core code related to Path2D, PathStrore, and isPointInPath from Skia and rewrite it with typescript

94 lines (93 loc) 3.96 kB
import { Point } from './point'; export declare class Matrix2D { static EPSILON: number; static IDENTITY_MATRIX: Matrix2D; static identity(): Matrix2D; static default(): Matrix2D; static fromSinCos(sin: number, cos: number): Matrix2D; static fromSinCosOrigin(sin: number, cos: number, x: number, y: number): Matrix2D; static fromTranslation(x: number, y: number): Matrix2D; static fromTranslate(x: number, y: number): Matrix2D; static fromRotation(theta: number): Matrix2D; static fromRotate(radian: number): Matrix2D; static fromRotateOrigin(radian: number, x: number, y: number): Matrix2D; static fromRotateDegrees(degrees: number): Matrix2D; static fromScale(sx: number, sy: number): Matrix2D; static fromScaleAxis(n: Point, k: number): Matrix2D; static fromSkew(kx: number, ky: number): Matrix2D; static fromArray(elements: Float32Array | number[], mutable?: boolean): Matrix2D; static fromRows(a: number, b: number, c: number, d: number, e: number, f: number): Matrix2D; static pools: Matrix2D[]; static poolSize: number; static pool(): Matrix2D; static release(instance: Matrix2D): void; isMatrix2D: boolean; elements: Float32Array; mutable: boolean; constructor(elements: Float32Array | number[], mutable?: boolean); get a(): number; get b(): number; get c(): number; get d(): number; get e(): number; get f(): number; pool(): Matrix2D; release(): void; setMutable(mutable: boolean): this; identity(): Matrix2D; set(a: number, b: number, c: number, d: number, e: number, f: number): Matrix2D; setElements(elements: Float32Array | number[]): Matrix2D; clone(): Matrix2D; copy(other: Matrix2D): this; isIdentity(): boolean; isZero(): boolean; isFinite(): boolean; isTranslate(): boolean; isScale(): boolean; isRotation(): boolean; isScaleTranslate(): boolean; isScaleRotate(): boolean; hasScale(): boolean; hasTranslate(): boolean; hasRotation(): boolean; floor(): Matrix2D; ceil(): Matrix2D; multiply(m: Matrix2D): Matrix2D; premultiply(m: Matrix2D): Matrix2D; multiplyMatrices(left: Matrix2D, right: Matrix2D): Matrix2D; multiplyScalar(s: number): Matrix2D; setScale(sx: number, sy: number): Matrix2D; setSinCos(sinV: number, cosV: number): this; setSinCos(sinV: number, cosV: number, px: number, py: number): this; setRotate(radian: number): this; setRotate(radian: number, x: number, y: number): this; setRotateDegrees(radian: number): this; setTranslate(tx: number, ty: number): Matrix2D; preScale(sx: number, sy: number): Matrix2D; postScale(sx: number, sy: number): Matrix2D; preRotate(angle: number): Matrix2D; preRotateDegrees(angle: number): Matrix2D; postRotate(angle: number): Matrix2D; postRotateDegrees(angle: number): Matrix2D; preTranslate(tx: number, ty: number): Matrix2D; postTranslate(tx: number, ty: number): Matrix2D; fromTranslateRotationSkewScalePivot(translate: Point, rotation: number, skew: Point, scale: Point, pivot: Point): Matrix2D; determinant(): number; invertMatrix(matrix: Matrix2D): Matrix2D; invert(): Matrix2D; scale(sx: number, sy: number): Matrix2D; rotate(theta: number): Matrix2D; translate(tx: number, ty: number): Matrix2D; /*** * 伴随矩阵,先转置,再求余子式 */ adjoint(): Matrix2D; mapPoints(outPoints: Point[], srcPoints: Point[]): this; mapPoint(out: Point, src: Point): Point; mapXY(x: number, y: number, out: Point): void; projection(width: number, height: number): Matrix2D; equals(matrix: Matrix2D): boolean; equalsEpsilon(matrix: Matrix2D, epsilon?: number): boolean; fromArray(array: number[] | Float32Array, offset?: number): this; toArray(array?: number[] | Float32Array, offset?: number): Float32Array<ArrayBufferLike> | number[]; }