phaser4-rex-plugins
Version:
202 lines (158 loc) • 5.88 kB
TypeScript
import DynamicText from '../dynamictext/DynamicText';
import HiddenTextEdit from './textedit/HiddenTextEdit';
export default CanvasInput;
declare namespace CanvasInput {
type AddCharCallbackType = (
child: DynamicText.CharBob,
index: number,
canvasInput: CanvasInput
) => void;
type MoveCursorCallbackType = (
currCursorIndex: number,
prevCursorIndex: number,
canvasInput: CanvasInput
) => void;
type ParseTextCallbackType = (
text: string
) => unknown;
interface IConfigBackground extends DynamicText.IConfigBackground {
'focus.color'?: string | number | null,
'focus.color2'?: string | number | null,
'focus.horizontalGradient'?: boolean,
'focus.stroke'?: string | number | null,
'focus.strokeThickness'?: number,
'focus.cornerRadius'?: number |
({ x?: number, y?: number }) |
DynamicText.IRadiusConfig,
'focus.cornerIteration'?: number
}
interface IConfigTextStyle extends DynamicText.IConfigTextStyle {
'cursor.bold'?: boolean,
'cursor.italic'?: boolean,
'cursor.fontSize'?: string | number,
'cursor.fontFamily'?: string,
'cursor.color'?: string | number | null,
'cursor.stroke'?: string | number | null,
'cursor.strokeThickness'?: number,
'cursor.shadowColor'?: string | number | null,
'cursor.shadowOffsetX'?: number,
'cursor.shadowOffsetY'?: number,
'cursor.shadowBlur'?: number,
'cursor.backgroundColor'?: string | number | null,
'cursor.backgroundHeight'?: number,
'cursor.backgroundBottomY'?: number,
'cursor.backgroundLeftX'?: number,
'cursor.backgroundRightX'?: number,
'cursor.offsetX'?: number,
'cursor.offsetY'?: number,
'cursor.leftSpace'?: number,
'cursor.rightSpace'?: number,
'range.bold'?: boolean,
'range.italic'?: boolean,
'range.fontSize'?: string | number,
'range.fontFamily'?: string,
'range.color'?: string | number | null,
'range.stroke'?: string | number | null,
'range.strokeThickness'?: number,
'range.shadowColor'?: string | number | null,
'range.shadowOffsetX'?: number,
'range.shadowOffsetY'?: number,
'range.shadowBlur'?: number,
'range.backgroundColor'?: string | number | null,
'range.backgroundHeight'?: number,
'range.backgroundBottomY'?: number,
'range.backgroundLeftX'?: number,
'range.backgroundRightX'?: number,
'range.offsetX'?: number,
'range.offsetY'?: number,
'range.leftSpace'?: number,
'range.rightSpace'?: number,
}
interface IConfig extends DynamicText.IConfig {
textArea?: boolean;
edit?: HiddenTextEdit.IConfig;
background?: IConfigBackground,
focusStyle?: DynamicText.IConfigBackground;
style?: IConfigTextStyle
cursorStyle?: DynamicText.IConfigTextStyle;
rangeStyle?: DynamicText.IConfigTextStyle;
onOpen?: HiddenTextEdit.OnOpenCallbackType;
onFocus?: HiddenTextEdit.OnOpenCallbackType;
onClose?: HiddenTextEdit.OnCloseCallbackType;
onBlur?: HiddenTextEdit.OnCloseCallbackType;
onUpdate?: HiddenTextEdit.OnUpdateCallbackType;
onAddChar?: AddCharCallbackType;
onMoveCursor?: MoveCursorCallbackType;
parseTextCallback?: ParseTextCallbackType;
readOnly?: boolean,
maxLength?: number,
minLength?: number,
selectAll?: boolean,
clickOutSideTarget?: boolean | Phaser.GameObjects.GameObject,
}
}
declare class CanvasInput extends DynamicText {
constructor(
scene: Phaser.Scene,
x?: number, y?: number,
fixedWidth?: number, fixedHeight?: number,
config?: CanvasInput.IConfig
);
constructor(
scene: Phaser.Scene,
x?: number, y?: number,
config?: CanvasInput.IConfig
);
constructor(
scene: Phaser.Scene,
config?: CanvasInput.IConfig
);
setText(text: string): this;
appendText(text: string): this;
displayText: string;
setDisplayText(value: string): this;
inputText: string;
setInputText(value: string): this;
setParseTextCallback(callback?: CanvasInput.ParseTextCallbackType): this;
getValue(): unknown;
setValue(value: unknown): this;
value: unknown;
setReadOnly(enable?: boolean): this;
readOnly: boolean;
open(onCloseCallback?: Function): this;
close(): this;
readonly isOpened: boolean;
setFocusStyle(
style: DynamicText.IConfigBackground
): this;
setCursorStyle(
style: DynamicText.IConfigTextStyle
): this;
setRangeStyle(
style: DynamicText.IConfigTextStyle
): this;
setNumberInput(): this;
setMaxLength(value: number): this;
maxLength: number;
setMinLength(value: number): this;
minLength: number;
setCursorPosition(value: number): this;
cursorPosition: number;
readonly contentWidth: number;
readonly contentHeight: number;
readonly linesCount: number;
readonly topTextOY: number;
readonly bottomTextOY: number;
readonly leftTextOX: number;
readonly rightTextOX: number;
setTextOYByPercentage(t: number): this;
getTextOYPercentage(): number;
t: number;
setTextOXByPercentage(s: number): this;
getTextOXPercentage(): number;
s: number;
cursorMoveLeft(): this;
cursorMoveRight(): this;
cursorMoveUp(): this;
cursorMoveDown(): this;
}