svg-path-d
Version:
SVG path data (path[d] attribute content) manipulation library.
51 lines (50 loc) • 1.97 kB
TypeScript
import { PathNode } from './path-node';
export declare class PathBuilder {
readonly path: PathNode[];
get last(): PathNode | undefined;
get lastX(): number;
get lastY(): number;
constructor(path?: PathNode[]);
push(next: PathNode): this;
/**
* Adds `MoveTo` command to the path.
* @param x absolute x coordinate to move to.
* @param y absolute y coordinate to move to.
*/
M(x: number, y: number): this;
/**
* Adds `LineTo` command to the path.
* @param x absolute x coordinate to draw line to.
* @param y absolute y coordinate to draw line to.
*/
L(x: number, y: number): this;
H(x: number): this;
V(y: number): this;
C(x1: number, y1: number, x2: number, y2: number, x: number, y: number): this;
S(x2: number, y2: number, x: number, y: number): this;
Q(x1: number, y1: number, x: number, y: number): this;
T(x: number, y: number): this;
A(rx: number, ry: number, angle: number, largeArc: number, sweep: number, x: number, y: number): this;
Z(): this;
/**
* Adds `MoveTo` command to the path.
* @param dx relative x coordinate to move to.
* @param dy relative y coordinate to move to.
*/
m(dx: number, dy: number): this;
/**
* Adds `LineTo` command to the path.
* @param dx relative x coordinate to draw line to.
* @param dy relative y coordinate to draw line to.
*/
l(dx: number, dy: number): this;
h(dx: number): this;
v(dy: number): this;
c(dx1: number, dy1: number, dx2: number, dy2: number, dx: number, dy: number): this;
s(dx2: number, dy2: number, dx: number, dy: number): this;
q(dx1: number, dy1: number, dx: number, dy: number): this;
t(dx: number, dy: number): this;
a(rx: number, ry: number, angle: number, largeArc: number, sweep: number, dx: number, dy: number): this;
z(): this;
private _relative;
}