UNPKG

lazy-widgets

Version:

Typescript retained mode GUI for the HTML canvas API

37 lines (36 loc) 1.35 kB
export declare const enum TextInputHandlerEventType { Dismiss = 0, Input = 1, MoveCursor = 2 } export type TextInputHandlerEventData = [ type: TextInputHandlerEventType.Dismiss ] | [ type: TextInputHandlerEventType.Input, text: string, selectStart: number, selectEnd: number ] | [ type: TextInputHandlerEventType.MoveCursor, selectStart: number, selectEnd: number ]; export type TextInputHandlerListener = (...eventData: TextInputHandlerEventData & { 0: TextInputHandlerEventType; }) => void; export declare abstract class TextInputHandler { readonly listener: TextInputHandlerListener; readonly domElems: ReadonlyArray<HTMLElement>; /** * Create a new text input handler. Note that the signature of this * constructor in base classes must have a single `listener` argument. Must * not change the current focus. */ constructor(listener: TextInputHandlerListener, domElems: ReadonlyArray<HTMLElement>); /** Update the text and selection of the input. Should focus the input. */ abstract askInput(currentText: string, selectStart: number, selectEnd: number): void; /** Change selection of input. */ abstract select(selectStart: number, selectEnd: number): void; /** Dismiss input handler. Must call super if overridden. */ dismiss(): void; }