UNPKG

warscript

Version:

A typescript library for Warcraft III using Warpack.

141 lines (140 loc) 6.2 kB
/// <reference types="@typescript-to-lua/language-extensions" /> /** @noSelfInFile */ import { Handle, HandleDestructor } from "./handle"; import { Player } from "./player"; import { Event, TriggerEvent } from "../../event"; import { Color } from "./color"; type Collector<T extends any[]> = () => LuaMultiReturn<T>; declare class FrameEvent<T extends any[] = []> extends TriggerEvent<[Player, ...T]> { static readonly playerCollector: Collector<[Player]>; constructor(frame: Frame, eventType: jframeeventtype, c: Collector<[Player, ...T]>); } type FrameSubclass<T extends Frame> = (new (frame: jframehandle) => T) & typeof Frame; export type FramePoint = jframepointtype; export declare namespace FramePoint { const TOP_LEFT: FramePoint; const TOP: FramePoint; const TOP_RIGHT: FramePoint; const LEFT: FramePoint; const CENTER: FramePoint; const RIGHT: FramePoint; const BOTTOM_LEFT: FramePoint; const BOTTOM: FramePoint; const BOTTOM_RIGHT: FramePoint; } export declare class Frame extends Handle<jframehandle> { static readonly GAME_UI: Frame; static readonly CONSOLE_UI: Frame; static readonly CONSOLE_UI_BACKDROP: Frame; static readonly WORLD: Frame; static readonly CHAT: Frame; static readonly TIME_OF_DAY_CLOCK: Frame; static get leftBorder(): Frame; static get rightBorder(): Frame; static get minX(): number; static get maxX(): number; static readonly centerX: number; static readonly minY: number; static readonly maxY: number; static readonly centerY: number; static isMouseOnWorld(player?: Player): boolean; protected onDestroy(): HandleDestructor; private events?; private mouseInside?; private hideCounter; private disableCounter; private _scale?; private getEvent; get visible(): boolean; set visible(visible: boolean); get enabled(): boolean; set enabled(enabled: boolean); get parent(): Frame; set parent(parent: Frame); get text(): string; set text(text: string); set textSizeLimit(size: number); get textSizeLimit(): number; set value(value: number); get value(): number; set height(height: number); get height(): number; set width(width: number); get width(): number; set alpha(alpha: number); get alpha(): number; get scale(): number; set scale(v: number); get name(): string; get onClick(): Event<[Player]>; get onCheckboxChecked(): FrameEvent; get onCheckboxUnchecked(): FrameEvent; get onEnter(): FrameEvent; get onMouseDoubleClick(): FrameEvent; get onMouseDown(): Event<[Player, jmousebuttontype]>; get onMouseEnter(): FrameEvent; get onMouseLeave(): FrameEvent; get onMouseUp(): FrameEvent; get onMouseWheel(): FrameEvent<[number]>; get popupMenuItemChangeEvent(): FrameEvent<[ popupMenu: Frame, previousValue: number, newValue: number ]>; get valueChangeLocalEvent(): Event<[ editBox: Frame, previousValue: number, newValue: number ]>; get onSliderValueChanged(): FrameEvent<[number]>; get onEditBoxTextChange(): FrameEvent<[string]>; get onEditBoxTextChangeLocal(): Event<[ editBox: Frame, previousValue: string, newValue: string ]>; get onEnable(): Event; get onDisable(): Event; /** Increments the inner hide counter. The frame is hidden whenever the counter is above 0. */ hide(): void; /** Decrements the inner hide counter. The frame is shown whenever the counter is 0. */ show(): void; /** Increments the inner disable counter. The frame is disabled whenever the counter is above 0. */ disable(): void; /** Decrements the inner disable counter. The frame is hidden whenever the counter is 0. */ enable(): void; addText(text: string): void; clearAllPoints(): void; getChild(index: number): Frame; getChildrenCount(): number; setSize(width: number, height: number): void; setPoint(point: jframepointtype, relative: Frame, relativePoint: jframepointtype, x: number, y: number): void; setAbsPoint(point: jframepointtype, x: number, y: number): void; setAllPoints(other: Frame): void; setFont(filename: string, height: number, flags: number): void; setTexture(filename: string, flag: number, blend: boolean): void; setTextAlignment(vert: jtextaligntype, horz: jtextaligntype): void; setVertexColor(color: Color): void; setTextColor(color: Color): void; setTooltip(tooltip: Frame): void; setMinMaxValue(minValue: number, maxValue: number): void; setStepSize(stepSize: number): void; setFocus(flag: boolean): void; resetFocus(): void; click(): void; private static onKeyPressEvent?; static get onKeyPress(): Event<[Player, joskeytype, oskeymeta]>; private static onKeyReleaseEvent?; static get onKeyRelease(): Event<[Player, joskeytype, oskeymeta]>; static get onMouseUp(): Event<[Player, jmousebuttontype, number, number]>; private static onMouseDownEvent?; static get onMouseDown(): Event<[Player, jmousebuttontype, number, number]>; static get onMouseMove(): Event<[player: Player, x: number, y: number]>; static get onMouseMoveLocal(): Event<[x: number, y: number]>; static createSimple<T extends Frame>(this: FrameSubclass<T>, name: string, parent?: Frame, createContext?: number): T; static create<T extends Frame>(this: FrameSubclass<T>, name: string, parent: Frame, priority?: number, createContext?: number): T; static createByType<T extends Frame>(this: FrameSubclass<T>, typeName: "BACKDROP" | "BUTTON" | "CHATDISPLAY" | "CHECKBOX" | "CONTROL" | "DIALOG" | "EDITBOX" | "FRAME" | "GLUEBUTTON" | "GLUECHECKBOX" | "GLUETEXTBUTTON" | "HIGHLIGHT" | "LISTBOX" | "MENU" | "POPUPMENU" | "SCROLLBAR" | "SLIDER" | "TEXT" | "TEXTAREA" | "TEXTBUTTON", name: string, parent: Frame, inherits?: string, createContext?: number): T; static byName<T extends Frame>(this: FrameSubclass<T>, name: string, context?: number): T; static byOrigin<T extends Frame>(this: FrameSubclass<T>, frameType: joriginframetype, index?: number): T; } export {};