svg-path-d
Version:
SVG path data (path[d] attribute content) manipulation library.
27 lines (26 loc) • 1.12 kB
TypeScript
import { Rect } from './utils/math2d';
import { CurveTo, EllipticalArc } from './command';
import { PathNode } from './path-node';
export declare type EllipseParams = {
cx: number;
cy: number;
rx: number;
ry: number;
phi: number;
};
export declare type EllipticalArcParams = EllipseParams & {
theta: number;
deltaTheta: number;
};
export declare function getCenterParams(node: Readonly<PathNode & EllipticalArc>): EllipticalArcParams;
export declare function getEllipsePoint(ellipse: Readonly<EllipseParams>, theta: number): {
x: number;
y: number;
};
export declare function getEllipseTangent(ellipse: Readonly<EllipseParams>, theta: number): {
x: number;
y: number;
};
export declare function ellipticalArcToCurve(x: number, y: number, ellipse: Readonly<EllipseParams>, theta1: number, theta2: number, prev?: PathNode): PathNode & CurveTo;
export declare function approximateEllipticalArc(node: Readonly<PathNode & EllipticalArc>): PathNode[];
export declare function getEllipticalArcBoundingRect(node: Readonly<PathNode & EllipticalArc>): Rect;