UNPKG

js-draw

Version:

Draw pictures using a pen, touchscreen, or mouse! JS-draw is a drawing library for JavaScript and TypeScript.

44 lines (43 loc) 1.69 kB
import { ComponentBuilderFactory } from '../../components/builders/types'; import Editor from '../../Editor'; import Pen from '../../tools/Pen'; import { KeyPressEvent } from '../../inputEvents'; import { ToolbarLocalization } from '../localization'; import BaseToolWidget from './BaseToolWidget'; import { SavedToolbuttonState } from './BaseWidget'; import HelpDisplay from '../utils/HelpDisplay'; /** Represents a style that can be applied to a pen tool. */ export interface PenTypeRecord { name: string; id: string; isShapeBuilder?: boolean; factory: ComponentBuilderFactory; } /** * This toolbar widget allows a user to control a single {@link Pen} tool. * * See also {@link AbstractToolbar.addDefaultToolWidgets}. */ export default class PenToolWidget extends BaseToolWidget { private tool; private updateInputs; protected penTypes: Readonly<PenTypeRecord>[]; protected shapelikeIDs: string[]; private static idCounter; constructor(editor: Editor, tool: Pen, localization?: ToolbarLocalization); protected getTitle(): string; private getCurrentPenTypeIdx; private getCurrentPenType; private createIconForRecord; protected createIcon(): Element; private createPenTypeSelector; protected createStrokeCorrectionOptions(helpOverlay?: HelpDisplay): { update: () => void; addTo: (parent: HTMLElement) => void; }; protected getHelpText(): string; protected fillDropdown(dropdown: HTMLElement, helpDisplay?: HelpDisplay): boolean; protected onKeyPress(event: KeyPressEvent): boolean; serializeState(): SavedToolbuttonState; deserializeFrom(state: SavedToolbuttonState): void; }