mai3-phaser-sdk
Version:
A UI component library based on the Phaser game engine
44 lines • 1.58 kB
TypeScript
import Phaser from 'phaser';
import { TextBoxConfig } from '../types';
import { Container } from './Container';
import { BaseScene } from "../game";
import { Label } from './Label';
export declare class TextBox<T extends TextBoxConfig = TextBoxConfig> extends Container<T> {
protected _config?: T;
label: Label;
selection: Phaser.GameObjects.Rectangle;
cursor: Phaser.GameObjects.Text;
timerEvent?: Phaser.Time.TimerEvent;
hiddenInput?: HTMLInputElement;
private static measureCanvas;
private static measureContext;
isFocus: boolean;
charWidths: number[];
selectionStart?: number;
selectionEnd?: number;
isSelecting: boolean;
maxWidth: number;
constructor(scene: BaseScene, config: T);
handleKeyup(event: KeyboardEvent): void;
getCursorPosition(): number;
createHiddenInput(): void;
getTextWidth(text: string): number;
updateSelectionAfterInput(): void;
handleOver(): void;
handleOut(): void;
handlePointerDown(pointer: Phaser.Input.Pointer): void;
handlePointerMove(pointer: Phaser.Input.Pointer): void;
handlePointerUp(): void;
updateCursorPosition(): void;
updateSelection(): void;
handleMoveCursor(): void;
setDomCursorPosition(): void;
setNativeCursorPosition(): void;
getCharacterIndexAtPosition(x: number): number;
getCharacterWidths(): number[];
getCharacterXPosition(index: number): number;
addTimerEvent(): void;
getLabelWorldPoint(): Phaser.Math.Vector2;
destroy(fromScene?: boolean): void;
}
//# sourceMappingURL=TextBox.d.ts.map