js-draw
Version:
Draw pictures using a pen, touchscreen, or mouse! JS-draw is a drawing library for JavaScript and TypeScript.
41 lines (40 loc) • 1.52 kB
TypeScript
import AbstractRenderer from '../../rendering/renderers/AbstractRenderer';
import RenderablePathSpec from '../../rendering/RenderablePathSpec';
import { Rect2 } from '@js-draw/math';
import Stroke from '../Stroke';
import Viewport from '../../Viewport';
import { StrokeDataPoint } from '../../types';
import { ComponentBuilder, ComponentBuilderFactory } from './types';
import RenderingStyle from '../../rendering/RenderingStyle';
/**
* Creates a stroke builder that draws freehand lines.
*
* Example:
* [[include:doc-pages/inline-examples/changing-pen-types.md]]
*/
export declare const makeFreehandLineBuilder: ComponentBuilderFactory;
export default class FreehandLineBuilder implements ComponentBuilder {
private startPoint;
private minFitAllowed;
private viewport;
private isFirstSegment;
private parts;
private curveFitter;
private bbox;
private averageWidth;
private widthAverageNumSamples;
constructor(startPoint: StrokeDataPoint, minFitAllowed: number, maxFitAllowed: number, viewport: Viewport);
getBBox(): Rect2;
protected getRenderingStyle(): RenderingStyle;
protected previewCurrentPath(): RenderablePathSpec | null;
protected previewFullPath(): RenderablePathSpec[] | null;
private previewStroke;
preview(renderer: AbstractRenderer): void;
build(): Stroke;
private getMinFit;
private roundPoint;
private roundDistance;
private curveToPathCommands;
private addCurve;
addPoint(newPoint: StrokeDataPoint): void;
}