You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.0 KiB
TypeScript
83 lines
2.0 KiB
TypeScript
import { Point } from './geometry';
|
|
import { Random } from './math';
|
|
export declare const SVGNS = "http://www.w3.org/2000/svg";
|
|
export interface Config {
|
|
options?: Options;
|
|
}
|
|
export interface DrawingSurface {
|
|
width: number | SVGAnimatedLength;
|
|
height: number | SVGAnimatedLength;
|
|
}
|
|
export interface Options {
|
|
maxRandomnessOffset?: number;
|
|
roughness?: number;
|
|
bowing?: number;
|
|
stroke?: string;
|
|
strokeWidth?: number;
|
|
curveFitting?: number;
|
|
curveTightness?: number;
|
|
curveStepCount?: number;
|
|
fill?: string;
|
|
fillStyle?: string;
|
|
fillWeight?: number;
|
|
hachureAngle?: number;
|
|
hachureGap?: number;
|
|
simplification?: number;
|
|
dashOffset?: number;
|
|
dashGap?: number;
|
|
zigzagOffset?: number;
|
|
seed?: number;
|
|
combineNestedSvgPaths?: boolean;
|
|
strokeLineDash?: number[];
|
|
strokeLineDashOffset?: number;
|
|
fillLineDash?: number[];
|
|
fillLineDashOffset?: number;
|
|
disableMultiStroke?: boolean;
|
|
disableMultiStrokeFill?: boolean;
|
|
}
|
|
export interface ResolvedOptions extends Options {
|
|
maxRandomnessOffset: number;
|
|
roughness: number;
|
|
bowing: number;
|
|
stroke: string;
|
|
strokeWidth: number;
|
|
curveFitting: number;
|
|
curveTightness: number;
|
|
curveStepCount: number;
|
|
fillStyle: string;
|
|
fillWeight: number;
|
|
hachureAngle: number;
|
|
hachureGap: number;
|
|
dashOffset: number;
|
|
dashGap: number;
|
|
zigzagOffset: number;
|
|
seed: number;
|
|
combineNestedSvgPaths: boolean;
|
|
randomizer?: Random;
|
|
disableMultiStroke: boolean;
|
|
disableMultiStrokeFill: boolean;
|
|
}
|
|
export declare type OpType = 'move' | 'bcurveTo' | 'lineTo';
|
|
export declare type OpSetType = 'path' | 'fillPath' | 'fillSketch';
|
|
export interface Op {
|
|
op: OpType;
|
|
data: number[];
|
|
}
|
|
export interface OpSet {
|
|
type: OpSetType;
|
|
ops: Op[];
|
|
size?: Point;
|
|
path?: string;
|
|
}
|
|
export interface Drawable {
|
|
shape: string;
|
|
options: ResolvedOptions;
|
|
sets: OpSet[];
|
|
}
|
|
export interface PathInfo {
|
|
d: string;
|
|
stroke: string;
|
|
strokeWidth: number;
|
|
fill?: string;
|
|
}
|