@giro3d/function-curve-editor
Version:
A function curve editor widget / web component
52 lines (51 loc) • 1.55 kB
TypeScript
import { 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;
interpolationMethod: InterpolationMethod;
primaryZoomMode: ZoomMode;
focusShield: boolean;
curveColor: string;
defaultKnotColor: string;
selectedKnotColor: string;
activeKnotColor: string;
labelColor: string;
primaryLineColor: string;
secondaryLineColor: string;
axisColor: string;
background: string;
secondaryBackground: string;
}
export declare class Widget {
private wctx;
constructor(canvas: HTMLCanvasElement, connected?: boolean);
setEventTarget(eventTarget: EventTarget): void;
setConnected(connected: boolean): 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;
}