UNPKG

function-curve-editor

Version:
55 lines 1.86 kB
import { UniFunction, InterpolationMethod } from "commons-math-interpolation"; export interface Point { x: number; y: number; } export declare const enum ZoomMode { x = 0, y = 1, xy = 2 } export { InterpolationMethod }; export interface EditorState { knots: Point[]; xMin: number; xMax: number; yMin: number; yMax: number; extendedDomain: boolean; relevantXMin?: number; relevantXMax?: number; gridEnabled: boolean; snapToGridEnabled: boolean; xAxisUnit?: string; yAxisUnit?: string; interpolationMethod: InterpolationMethod; primaryZoomMode: ZoomMode; focusShield: boolean; customPaintFunction?: CustomPaintFunction; } export type CustomPaintFunction = (pctx: CustomPaintContext) => void; export interface CustomPaintContext { pass: number; eState: EditorState; ctx: CanvasRenderingContext2D; mapLogicalToCanvasXCoordinate: (lx: number) => number; mapLogicalToCanvasYCoordinate: (ly: number) => number; drawFunctionCurve: (uniFunction: UniFunction, lxMin: number, lxMax: number, color: string) => void; } export declare class Widget { private wctx; constructor(canvas: HTMLCanvasElement, connected?: boolean); setEventTarget(eventTarget: EventTarget): void; setConnected(connected: boolean): void; requestRefresh(): void; addEventListener(type: string, listener: EventListener): void; removeEventListener(type: string, listener: EventListener): void; getEditorState(): EditorState; setEditorState(eState: Partial<EditorState>): void; getFunction(): (x: number) => number; getRawHelpText(): string[]; getFormattedHelpText(): string; clipboardCopyEventHandler(event: ClipboardEvent): void; clipboardPasteEventHandler(event: ClipboardEvent): void; } //# sourceMappingURL=FunctionCurveEditor.d.ts.map