svg-path-d
Version:
SVG path data (path[d] attribute content) manipulation library.
68 lines (67 loc) • 1.45 kB
TypeScript
/**
* SVG path draw commands
*/
export declare type MoveTo = {
name: 'M';
x: number;
y: number;
};
export declare type LineTo = {
name: 'L';
x: number;
y: number;
};
export declare type HLineTo = {
name: 'H';
x: number;
};
export declare type VLineTo = {
name: 'V';
y: number;
};
export declare type ClosePath = {
name: 'Z';
};
export declare type CurveTo = {
name: 'C';
x1: number;
y1: number;
x2: number;
y2: number;
x: number;
y: number;
};
export declare type SmoothCurveTo = {
name: 'S';
x2: number;
y2: number;
x: number;
y: number;
};
export declare type QCurveTo = {
name: 'Q';
x1: number;
y1: number;
x: number;
y: number;
};
export declare type SmoothQCurveTo = {
name: 'T';
x: number;
y: number;
};
export declare type EllipseShape = {
rx: number;
ry: number;
angle: number;
largeArcFlag: boolean;
sweepFlag: boolean;
};
export declare type EllipticalArc = EllipseShape & {
name: 'A';
x: number;
y: number;
};
export declare type DrawTo = MoveTo | LineTo | HLineTo | VLineTo | ClosePath | CurveTo | SmoothCurveTo | QCurveTo | SmoothQCurveTo | EllipticalArc;
export declare type DrawCommand = DrawTo['name'];
export declare function createDrawItem(name: DrawCommand, args: ReadonlyArray<number | string>): DrawTo;