Class: Frame#
Warcraft III's UI uses a proprietary format known as FDF (Frame Definition Files). This class provides the ability to manipulate and create them dynamically through code.
example Create a simple button.
// Create a "GLUEBUTTON" named "Facebutton", the clickable Button, for game UIconst buttonFrame = new Frame("FaceButton", Frame.fromOrigin(ORIGIN_FRAME_GAME_UI, 0), 0, 0, "GLUEBUTTON", "");
// Create a BACKDROP named "FaceButtonIcon", the visible image, for buttonFrame.const buttonIconFrame = new Frame("FaceButton", buttonFrame, 0, 0, "BACKDROP", "");
// buttonIconFrame will mimic buttonFrame in size and positionbuttonIconFrame.setAllPoints(buttonFrame);
// Set a TexturebuttonIconFrame.setTexture("ReplaceableTextures\\CommandButtons\\BTNSelectHeroOn", 0, true);
// Place the buttonFrame to the center of the screenbuttonFrame.setAbsPoint(FRAMEPOINT_CENTER, 0.4, 0.3);
// Give that buttonFrame a sizebuttonFrame.setSize(0.05, 0.05);There are many aspects to modifying the UI and it can become complicated, so here are some guides:
https://www.hiveworkshop.com/threads/ui-frames-starting-guide.318603/ https://www.hiveworkshop.com/pastebin/913bd439799b3d917e5b522dd9ef458f20598/ https://www.hiveworkshop.com/tags/ui-fdf/
Hierarchy#
Handle<framehandle>
↳ Frame
Constructors#
constructor#
new Frame(name: string, owner: Frame, priority: number, createContext: number): FrameCreates a Frame.
Parameters:#
| Name | Type | Description |
|---|---|---|
name | string | The name of the frame to be accessed with Frame.fromName. |
owner | Frame | The parent frame. |
priority | number | |
createContext | number | The ID assigned to a frame to be accessed with Frame.fromName. This value does not have to be unique and can be overwritten. |
Returns: Frame
Defined in: handles/frame.ts:37
new Frame(name: string, owner: Frame, priority: number): FrameCreates a SimpleFrame.
https://www.hiveworkshop.com/threads/ui-simpleframes.320385/
Parameters:#
| Name | Type | Description |
|---|---|---|
name | string | The name of the frame to be accessed with Frame.fromName. |
owner | Frame | The parent frame. |
priority | number |
Returns: Frame
Defined in: handles/frame.ts:45
new Frame(name: string, owner: Frame, priority: number, createContext: number, typeName: string, inherits: string): FrameCreate a Frame by type.
Parameters:#
| Name | Type | Description |
|---|---|---|
name | string | The name of the frame to be accessed with Frame.fromName. |
owner | Frame | The parent frame. |
priority | number | |
createContext | number | The ID assigned to a frame to be accessed with Frame.fromName. This value does not have to be unique and can be overwritten. |
typeName | string | The type of Frame. |
inherits | string | The name of the Frame it inherits. |
Returns: Frame
Defined in: handles/frame.ts:55
Properties#
handle#
• Readonly handle: framehandle
Defined in: handles/handle.ts:6
Accessors#
alpha#
alpha(): numberReturns: number
Defined in: handles/frame.ts:86
alpha(alpha: number): voidParameters:#
| Name | Type |
|---|---|
alpha | number |
Returns: void
Defined in: handles/frame.ts:82
children#
children(): Frame[]Returns: Frame[]
Defined in: handles/frame.ts:90
childrenCount#
childrenCount(): numberReturns: number
Defined in: handles/frame.ts:99
enabled#
enabled(): booleanReturns: boolean
Defined in: handles/frame.ts:107
enabled(flag: boolean): voidParameters:#
| Name | Type |
|---|---|
flag | boolean |
Returns: void
Defined in: handles/frame.ts:103
height#
height(): numberReturns: number
Defined in: handles/frame.ts:115
height(height: number): voidParameters:#
| Name | Type |
|---|---|
height | number |
Returns: void
Defined in: handles/frame.ts:111
id#
id(): numberGet the unique ID of the handle. The ID is recycled once you destroy the object.
Returns: number
The unique ID of a handle object.
Defined in: handles/handle.ts:18
parent#
parent(): FrameReturns: Frame
Defined in: handles/frame.ts:123
parent(parent: Frame): voidParameters:#
| Name | Type |
|---|---|
parent | Frame |
Returns: void
Defined in: handles/frame.ts:119
text#
text(): stringReturns: string
Defined in: handles/frame.ts:131
text(text: string): voidParameters:#
| Name | Type |
|---|---|
text | string |
Returns: void
Defined in: handles/frame.ts:127
textSizeLimit#
textSizeLimit(): numberReturns: number
Defined in: handles/frame.ts:139
textSizeLimit(size: number): voidParameters:#
| Name | Type |
|---|---|
size | number |
Returns: void
Defined in: handles/frame.ts:135
value#
value(): numberReturns: number
Defined in: handles/frame.ts:147
value(value: number): voidParameters:#
| Name | Type |
|---|---|
value | number |
Returns: void
Defined in: handles/frame.ts:143
visible#
visible(): booleanReturns: boolean
Defined in: handles/frame.ts:155
visible(flag: boolean): voidParameters:#
| Name | Type |
|---|---|
flag | boolean |
Returns: void
Defined in: handles/frame.ts:151
width#
width(): numberReturns: number
Defined in: handles/frame.ts:163
width(width: number): voidParameters:#
| Name | Type |
|---|---|
width | number |
Returns: void
Defined in: handles/frame.ts:159
Methods#
addText#
addText(text: string): FrameParameters:#
| Name | Type |
|---|---|
text | string |
Returns: Frame
Defined in: handles/frame.ts:167
cageMouse#
cageMouse(enable: boolean): FrameParameters:#
| Name | Type |
|---|---|
enable | boolean |
Returns: Frame
Defined in: handles/frame.ts:172
clearPoints#
clearPoints(): FrameReturns: Frame
Defined in: handles/frame.ts:177
click#
click(): FrameReturns: Frame
Defined in: handles/frame.ts:182
destroy#
destroy(): FrameReturns: Frame
Defined in: handles/frame.ts:187
getChild#
getChild(index: number): FrameParameters:#
| Name | Type |
|---|---|
index | number |
Returns: Frame
Defined in: handles/frame.ts:192
setAbsPoint#
setAbsPoint(point: framepointtype, x: number, y: number): FrameParameters:#
| Name | Type |
|---|---|
point | framepointtype |
x | number |
y | number |
Returns: Frame
Defined in: handles/frame.ts:196
setAllPoints#
setAllPoints(relative: Frame): FrameParameters:#
| Name | Type |
|---|---|
relative | Frame |
Returns: Frame
Defined in: handles/frame.ts:201
setAlpha#
setAlpha(alpha: number): FrameParameters:#
| Name | Type |
|---|---|
alpha | number |
Returns: Frame
Defined in: handles/frame.ts:206
setEnabled#
setEnabled(flag: boolean): FrameParameters:#
| Name | Type |
|---|---|
flag | boolean |
Returns: Frame
Defined in: handles/frame.ts:211
setFocus#
setFocus(flag: boolean): FrameParameters:#
| Name | Type |
|---|---|
flag | boolean |
Returns: Frame
Defined in: handles/frame.ts:216
setFont#
setFont(filename: string, height: number, flags: number): FrameParameters:#
| Name | Type |
|---|---|
filename | string |
height | number |
flags | number |
Returns: Frame
Defined in: handles/frame.ts:221
setHeight#
setHeight(height: number): FrameParameters:#
| Name | Type |
|---|---|
height | number |
Returns: Frame
Defined in: handles/frame.ts:226
setLevel#
setLevel(level: number): FrameParameters:#
| Name | Type |
|---|---|
level | number |
Returns: Frame
Defined in: handles/frame.ts:231
setMinMaxValue#
setMinMaxValue(minValue: number, maxValue: number): FrameParameters:#
| Name | Type |
|---|---|
minValue | number |
maxValue | number |
Returns: Frame
Defined in: handles/frame.ts:236
setModel#
setModel(modelFile: string, cameraIndex: number): FrameParameters:#
| Name | Type |
|---|---|
modelFile | string |
cameraIndex | number |
Returns: Frame
Defined in: handles/frame.ts:241
setParent#
setParent(parent: Frame): FrameParameters:#
| Name | Type |
|---|---|
parent | Frame |
Returns: Frame
Defined in: handles/frame.ts:246
setPoint#
setPoint(point: framepointtype, relative: Frame, relativePoint: framepointtype, x: number, y: number): FrameParameters:#
| Name | Type |
|---|---|
point | framepointtype |
relative | Frame |
relativePoint | framepointtype |
x | number |
y | number |
Returns: Frame
Defined in: handles/frame.ts:251
setScale#
setScale(scale: number): FrameParameters:#
| Name | Type |
|---|---|
scale | number |
Returns: Frame
Defined in: handles/frame.ts:256
setSize#
setSize(width: number, height: number): FrameParameters:#
| Name | Type |
|---|---|
width | number |
height | number |
Returns: Frame
Defined in: handles/frame.ts:261
setSpriteAnimate#
setSpriteAnimate(primaryProp: number, flags: number): FrameParameters:#
| Name | Type |
|---|---|
primaryProp | number |
flags | number |
Returns: Frame
Defined in: handles/frame.ts:266
setStepSize#
setStepSize(stepSize: number): FrameParameters:#
| Name | Type |
|---|---|
stepSize | number |
Returns: Frame
Defined in: handles/frame.ts:271
setText#
setText(text: string): FrameParameters:#
| Name | Type |
|---|---|
text | string |
Returns: Frame
Defined in: handles/frame.ts:276
setTextColor#
setTextColor(color: number): FrameParameters:#
| Name | Type |
|---|---|
color | number |
Returns: Frame
Defined in: handles/frame.ts:281
setTextSizeLimit#
setTextSizeLimit(size: number): FrameParameters:#
| Name | Type |
|---|---|
size | number |
Returns: Frame
Defined in: handles/frame.ts:286
setTexture#
setTexture(texFile: string, flag: number, blend: boolean): FrameParameters:#
| Name | Type |
|---|---|
texFile | string |
flag | number |
blend | boolean |
Returns: Frame
Defined in: handles/frame.ts:291
setTooltip#
setTooltip(tooltip: Frame): FrameParameters:#
| Name | Type |
|---|---|
tooltip | Frame |
Returns: Frame
Defined in: handles/frame.ts:296
setValue#
setValue(value: number): FrameParameters:#
| Name | Type |
|---|---|
value | number |
Returns: Frame
Defined in: handles/frame.ts:301
setVertexColor#
setVertexColor(color: number): FrameParameters:#
| Name | Type |
|---|---|
color | number |
Returns: Frame
Defined in: handles/frame.ts:306
setVisible#
setVisible(flag: boolean): FrameParameters:#
| Name | Type |
|---|---|
flag | boolean |
Returns: Frame
Defined in: handles/frame.ts:311
setWidth#
setWidth(width: number): FrameParameters:#
| Name | Type |
|---|---|
width | number |
Returns: Frame
Defined in: handles/frame.ts:316
autoPosition#
static autoPosition(enable: boolean): voidParameters:#
| Name | Type |
|---|---|
enable | boolean |
Returns: void
Defined in: handles/frame.ts:321
fromEvent#
static fromEvent(): FrameReturns: Frame
Defined in: handles/frame.ts:325
fromHandle#
static fromHandle(handle: framehandle): FrameParameters:#
| Name | Type |
|---|---|
handle | framehandle |
Returns: Frame
Defined in: handles/frame.ts:329
fromName#
static fromName(name: string, createContext: number): FrameParameters:#
| Name | Type |
|---|---|
name | string |
createContext | number |
Returns: Frame
Defined in: handles/frame.ts:333
fromOrigin#
static fromOrigin(frameType: originframetype, index: number): FrameParameters:#
| Name | Type |
|---|---|
frameType | originframetype |
index | number |
Returns: Frame
Defined in: handles/frame.ts:337
getEventHandle#
static getEventHandle(): frameeventtypeReturns: frameeventtype
Defined in: handles/frame.ts:341
getEventText#
static getEventText(): numberReturns: number
Defined in: handles/frame.ts:345
getEventValue#
static getEventValue(): numberReturns: number
Defined in: handles/frame.ts:349
hideOrigin#
static hideOrigin(enable: boolean): voidParameters:#
| Name | Type |
|---|---|
enable | boolean |
Returns: void
Defined in: handles/frame.ts:353
loadTOC#
static loadTOC(filename: string): booleanParameters:#
| Name | Type |
|---|---|
filename | string |
Returns: boolean
Defined in: handles/frame.ts:357