UNPKG

@visactor/vrender-core

Version:
53 lines (52 loc) 3.18 kB
import type { CommandStrType, CommandType, ICurve, ICustomPath2D, IDirection, ILine, IPath2D } from '../interface'; import { CurvePath } from './segment/curve/path'; import type { IPoint, IPointLike } from '@visactor/vutils'; export declare class CustomPath2D extends CurvePath implements ICustomPath2D { commandList: CommandType[]; _boundsContext: IPath2D; _ctx?: IPath2D; direction?: IDirection; protected transformCbList?: ((cmd: CommandType, x: number, y: number, sx: number, sy: number) => void)[]; protected toStringCbList?: ((cmd: CommandType) => string)[]; constructor(ctx?: IPath2D); get curves(): ICurve<IPoint>[]; setCtx(ctx?: IPath2D): void; moveTo(x: number, y: number): this; lineTo(x: number, y: number): this; quadraticCurveTo(aCPx: number, aCPy: number, aX: number, aY: number): this; bezierCurveTo(aCP1x: number, aCP1y: number, aCP2x: number, aCP2y: number, aX: number, aY: number): this; arcTo(aX1: number, aY1: number, aX2: number, aY2: number, aRadius: number): this; ellipse(aX: number, aY: number, xRadius: number, yRadius: number, aRotation: number, aStartAngle: number, aEndAngle: number, aClockwise: boolean): this; rect(x: number, y: number, w: number, h: number): this; arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): this; closePath(): this; addCurve(curve: ICurve<IPoint>): void; clear(): void; beginPath(): void; tryBuildCurves(): ICurve<IPoint>[]; toString(): string; fromString(str: string, x?: number, y?: number, sX?: number, sY?: number): this; fromLine(line: ILine): void; fromCustomPath2D(path: ICustomPath2D, x?: number, y?: number, sX?: number, sY?: number): this; transform(x: number, y: number, sx: number, sy: number): void; protected moveToTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number): void; protected lineToTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number): void; protected quadraticCurveToTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number): void; protected bezierCurveToTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number): void; arcToTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number): void; ellipseTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number): void; rectTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number): void; arcTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number): void; closePathTransform(): void; protected _runCommandStrList(commandStrList: CommandStrType[], l?: number, t?: number, sX?: number, sY?: number): void; protected _runCommandList(commandList: CommandType[], l?: number, t?: number, sX?: number, sY?: number): void; private _updateBounds; release(): void; getLength(): number; getYAt(x: number): number; getAttrAt(distance: number): { pos: IPointLike; angle: number; }; drawWithClipRange(ctx: IPath2D, size: number, x: number, y: number, clipRange: number): void; }