You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
2.2 KiB
48 lines
2.2 KiB
declare module "svgpath" { |
|
type MoveToAbs = ["M", number, number]; |
|
type LineToAbs = ["L", number, number]; |
|
type HorizontalLineToAbs = ["H", number]; |
|
type VerticalLineToAbs = ["V", number]; |
|
type CurveToAbs = ["C", number, number, number, number, number, number]; |
|
type SmoothCurveToAbs = ["S", number, number, number, number]; |
|
type QuadraticBézierCurveToAbs = ["Q", number, number, number, number]; |
|
type SmoothQuadraticBézierCurveToAbs = ["T", number, number]; |
|
type EllipticalArcAbs = ["A", number, number, number, number, number, number, number]; |
|
|
|
type MoveToRel = ["m", number, number]; |
|
type LineToRel = ["l", number, number]; |
|
type HorizontalLineToRel = ["h", number]; |
|
type VerticalLineToRel = ["v", number]; |
|
type CurveToRel = ["c", number, number, number, number, number, number]; |
|
type SmoothCurveToRel = ["s", number, number, number, number]; |
|
type QuadraticBézierCurveToRel = ["q", number, number, number, number]; |
|
type SmoothQuadraticBézierCurveToRel = ["t", number, number]; |
|
type EllipticalArcRel = ["a", number, number, number, number, number, number, number]; |
|
|
|
type ClosePath = ["Z" | "z"]; |
|
|
|
type Segment = MoveToAbs | MoveToRel | LineToAbs | LineToRel | HorizontalLineToAbs | HorizontalLineToRel | VerticalLineToAbs | VerticalLineToRel | CurveToAbs | CurveToRel | SmoothCurveToAbs | SmoothCurveToRel | QuadraticBézierCurveToAbs | QuadraticBézierCurveToRel | SmoothQuadraticBézierCurveToAbs | SmoothQuadraticBézierCurveToRel | EllipticalArcAbs | EllipticalArcRel | ClosePath; |
|
|
|
interface SvgPath { |
|
(path: string): SvgPath; |
|
new (path: string): SvgPath; |
|
from(path: string | SvgPath): SvgPath; |
|
abs(): SvgPath; |
|
rel(): SvgPath; |
|
scale(sx: number, sy?: number): SvgPath; |
|
translate(x: number, y?: number): SvgPath; |
|
rotate(angle: number, rx?: number, ry?: number): SvgPath; |
|
skewX(degrees: number): SvgPath; |
|
skewY(degrees: number): SvgPath; |
|
matrix(m: number[]): SvgPath; |
|
transform(str: string): SvgPath; |
|
unshort(): SvgPath; |
|
unarc(): SvgPath; |
|
toString(): string; |
|
round(precision: number): SvgPath; |
|
iterate(iterator: (segment: Segment, index: number, x: number, y: number) => void, keepLazyStack?: boolean): SvgPath; |
|
} |
|
|
|
const svgPath: SvgPath; |
|
export = svgPath; |
|
}
|
|
|