wuira 0.2.8 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/README.md +6 -2
- package/docs/icons.md +1 -1
- package/docs/nameplates.md +1 -1
- package/lib/index.d.ts +0 -15
- package/lib/index.lua +0 -26
- package/lib/platform/forever.d.ts +2 -1
- package/lib/platform/index.d.ts +5 -0
- package/lib/platform/index.lua +11 -0
- package/lib/rendering/layout.lua +2 -2
- package/lib/rendering/progress.lua +9 -3
- package/lib/rendering/widgets.lua +8 -1
- package/lib/ui/Cell.d.ts +1 -1
- package/lib/ui/FlowLayout.d.ts +16 -4
- package/lib/ui/GridLayout.d.ts +10 -1
- package/lib/ui/ScrollHost.lua +9 -4
- package/lib/ui/UnitPortrait.d.ts +3 -0
- package/lib/ui/UnitPortrait.lua +233 -0
- package/lib/ui/decorations/backgroundTextures.d.ts +2 -22
- package/lib/ui/decorations/backgroundTextures.lua +3 -7
- package/lib/ui/decorations/borderTextures.d.ts +2 -37
- package/lib/ui/decorations/borderTextures.lua +3 -9
- package/lib/ui/decorations/statusBarTextures.d.ts +5 -12
- package/lib/ui/decorations/statusBarTextures.lua +83 -4
- package/lib/ui/index.d.ts +6 -0
- package/lib/ui/index.lua +19 -0
- package/lib/ui/layout/calculateFlow.d.ts +16 -4
- package/lib/ui/layout/calculateFlow.lua +153 -46
- package/lib/ui/layout/calculateGrid.d.ts +6 -5
- package/lib/ui/layout/calculateGrid.lua +80 -6
- package/lib/ui/layout/measureLayout.lua +118 -39
- package/lib/ui/media/clientMedia.d.ts +177 -0
- package/lib/ui/media/clientMedia.lua +49 -0
- package/lib/ui/overlayGlow.d.ts +21 -0
- package/lib/ui/overlayGlow.lua +350 -0
- package/package.json +8 -1
|
@@ -4,6 +4,14 @@ local function __TS__NumberIsFinite(value)
|
|
|
4
4
|
return type(value) == "number" and value == value and value ~= math.huge and value ~= -math.huge
|
|
5
5
|
end
|
|
6
6
|
|
|
7
|
+
local function __TS__ArrayMap(self, callbackfn, thisArg)
|
|
8
|
+
local result = {}
|
|
9
|
+
for i = 1, #self do
|
|
10
|
+
result[i] = callbackfn(thisArg, self[i], i - 1, self)
|
|
11
|
+
end
|
|
12
|
+
return result
|
|
13
|
+
end
|
|
14
|
+
|
|
7
15
|
local function __TS__ArrayIncludes(self, searchElement, fromIndex)
|
|
8
16
|
if fromIndex == nil then
|
|
9
17
|
fromIndex = 0
|
|
@@ -51,14 +59,6 @@ local function __TS__SparseArraySpread(sparseArray)
|
|
|
51
59
|
return _unpack(sparseArray, 1, sparseArray.sparseLength)
|
|
52
60
|
end
|
|
53
61
|
|
|
54
|
-
local function __TS__ArrayMap(self, callbackfn, thisArg)
|
|
55
|
-
local result = {}
|
|
56
|
-
for i = 1, #self do
|
|
57
|
-
result[i] = callbackfn(thisArg, self[i], i - 1, self)
|
|
58
|
-
end
|
|
59
|
-
return result
|
|
60
|
-
end
|
|
61
|
-
|
|
62
62
|
local function __TS__ObjectAssign(target, ...)
|
|
63
63
|
local sources = {...}
|
|
64
64
|
for i = 1, #sources do
|
|
@@ -73,15 +73,20 @@ local function __TS__ObjectAssign(target, ...)
|
|
|
73
73
|
end
|
|
74
74
|
-- End of Lua Library inline imports
|
|
75
75
|
local ____exports = {}
|
|
76
|
+
local resolveSize, flowMainHorizontal, measureChildren
|
|
76
77
|
local ____Spacing = require("types.Spacing")
|
|
77
78
|
local resolveSpacing = ____Spacing.resolveSpacing
|
|
78
79
|
local ____calculateFlow = require("ui.layout.calculateFlow")
|
|
79
80
|
local calculateFlow = ____calculateFlow.calculateFlow
|
|
81
|
+
local flowSpacing = ____calculateFlow.flowSpacing
|
|
80
82
|
local ____calculateGrid = require("ui.layout.calculateGrid")
|
|
81
83
|
local calculateGrid = ____calculateGrid.calculateGrid
|
|
82
|
-
|
|
83
|
-
if value == "inherit" then
|
|
84
|
+
function resolveSize(self, value, available, margin)
|
|
85
|
+
if value == "inherit" or value == "fill" then
|
|
84
86
|
if available == nil then
|
|
87
|
+
if value == "fill" then
|
|
88
|
+
return 0
|
|
89
|
+
end
|
|
85
90
|
error("Cannot inherit a size from an unconstrained content-sized parent")
|
|
86
91
|
end
|
|
87
92
|
return math.max(0, available - margin)
|
|
@@ -91,6 +96,72 @@ local function resolveSize(self, value, available, margin)
|
|
|
91
96
|
end
|
|
92
97
|
return value
|
|
93
98
|
end
|
|
99
|
+
function flowMainHorizontal(self, direction)
|
|
100
|
+
return direction == "horizontal" or direction == "ltr" or direction == "rtl" or direction == "horizontalReverse"
|
|
101
|
+
end
|
|
102
|
+
function measureChildren(self, layout, sourceChildren, contentWidth, contentHeight, path)
|
|
103
|
+
local box = {width = contentWidth, height = contentHeight}
|
|
104
|
+
if layout == nil or layout.kind ~= "flow" then
|
|
105
|
+
return __TS__ArrayMap(
|
|
106
|
+
sourceChildren,
|
|
107
|
+
function(____, child) return ____exports.measureLayout(nil, child, box, path) end
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
local horizontal = flowMainHorizontal(nil, layout.props.direction)
|
|
111
|
+
local gap = flowSpacing(nil, layout.props.direction, layout.props).main
|
|
112
|
+
local measured = {}
|
|
113
|
+
local fillIndexes = {}
|
|
114
|
+
do
|
|
115
|
+
local index = 0
|
|
116
|
+
while index < #sourceChildren do
|
|
117
|
+
local child = sourceChildren[index + 1]
|
|
118
|
+
if (horizontal and child.props.width or child.props.height) == "fill" then
|
|
119
|
+
fillIndexes[#fillIndexes + 1] = index
|
|
120
|
+
else
|
|
121
|
+
measured[index + 1] = ____exports.measureLayout(nil, child, box, path)
|
|
122
|
+
end
|
|
123
|
+
index = index + 1
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
local used = 0
|
|
127
|
+
do
|
|
128
|
+
local index = 0
|
|
129
|
+
while index < #measured do
|
|
130
|
+
do
|
|
131
|
+
local __continue16
|
|
132
|
+
repeat
|
|
133
|
+
local child = measured[index + 1]
|
|
134
|
+
if child == nil then
|
|
135
|
+
__continue16 = true
|
|
136
|
+
break
|
|
137
|
+
end
|
|
138
|
+
used = used + (horizontal and child.width + child.margin.left + child.margin.right or child.height + child.margin.top + child.margin.bottom)
|
|
139
|
+
__continue16 = true
|
|
140
|
+
until true
|
|
141
|
+
if not __continue16 then
|
|
142
|
+
break
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
index = index + 1
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
local ____horizontal_0
|
|
149
|
+
if horizontal then
|
|
150
|
+
____horizontal_0 = contentWidth
|
|
151
|
+
else
|
|
152
|
+
____horizontal_0 = contentHeight
|
|
153
|
+
end
|
|
154
|
+
local contentMain = ____horizontal_0
|
|
155
|
+
local leftover = contentMain == nil and 0 or math.max(
|
|
156
|
+
0,
|
|
157
|
+
contentMain - used - math.max(0, #sourceChildren - 1) * gap
|
|
158
|
+
)
|
|
159
|
+
local share = #fillIndexes == 0 and 0 or leftover / #fillIndexes
|
|
160
|
+
for ____, index in ipairs(fillIndexes) do
|
|
161
|
+
measured[index + 1] = ____exports.measureLayout(nil, sourceChildren[index + 1], horizontal and ({width = share, height = contentHeight}) or ({width = contentWidth, height = share}), path)
|
|
162
|
+
end
|
|
163
|
+
return measured
|
|
164
|
+
end
|
|
94
165
|
--- Resolve available space top-down and content bounds bottom-up.
|
|
95
166
|
function ____exports.measureLayout(self, element, available, ancestors)
|
|
96
167
|
if available == nil then
|
|
@@ -123,20 +194,20 @@ function ____exports.measureLayout(self, element, available, ancestors)
|
|
|
123
194
|
local isLayout = element.kind == "flow" or element.kind == "grid"
|
|
124
195
|
local layout = isLayout and element or nil
|
|
125
196
|
local contentSizing = (layout and layout.props.sizing) == "content"
|
|
126
|
-
local
|
|
197
|
+
local ____temp_3
|
|
127
198
|
if contentSizing and props.width == 0 then
|
|
128
|
-
|
|
199
|
+
____temp_3 = nil
|
|
129
200
|
else
|
|
130
|
-
|
|
201
|
+
____temp_3 = math.max(0, width - padding.left - padding.right)
|
|
131
202
|
end
|
|
132
|
-
local contentWidth =
|
|
133
|
-
local
|
|
203
|
+
local contentWidth = ____temp_3
|
|
204
|
+
local ____temp_4
|
|
134
205
|
if contentSizing and props.height == 0 then
|
|
135
|
-
|
|
206
|
+
____temp_4 = nil
|
|
136
207
|
else
|
|
137
|
-
|
|
208
|
+
____temp_4 = math.max(0, height - padding.top - padding.bottom)
|
|
138
209
|
end
|
|
139
|
-
local contentHeight =
|
|
210
|
+
local contentHeight = ____temp_4
|
|
140
211
|
local sourceChildren = layout ~= nil and layout.children or (cell.child == nil and ({}) or ({cell.child}))
|
|
141
212
|
local childWidth = contentWidth
|
|
142
213
|
local childHeight = contentHeight
|
|
@@ -149,47 +220,55 @@ function ____exports.measureLayout(self, element, available, ancestors)
|
|
|
149
220
|
1,
|
|
150
221
|
math.ceil(#sourceChildren / grid.columns)
|
|
151
222
|
)
|
|
152
|
-
local
|
|
153
|
-
if
|
|
154
|
-
local
|
|
223
|
+
local ____grid_cellWidth_8 = grid.cellWidth
|
|
224
|
+
if ____grid_cellWidth_8 == nil then
|
|
225
|
+
local ____temp_7
|
|
155
226
|
if contentWidth == nil then
|
|
156
|
-
|
|
227
|
+
____temp_7 = nil
|
|
157
228
|
else
|
|
158
|
-
|
|
229
|
+
____temp_7 = math.max(0, (contentWidth - (grid.columnGap or grid.gap or 0) * (grid.columns - 1)) / grid.columns)
|
|
159
230
|
end
|
|
160
|
-
|
|
231
|
+
____grid_cellWidth_8 = ____temp_7
|
|
161
232
|
end
|
|
162
|
-
childWidth =
|
|
163
|
-
local
|
|
164
|
-
if
|
|
165
|
-
local
|
|
233
|
+
childWidth = ____grid_cellWidth_8
|
|
234
|
+
local ____grid_cellHeight_10 = grid.cellHeight
|
|
235
|
+
if ____grid_cellHeight_10 == nil then
|
|
236
|
+
local ____temp_9
|
|
166
237
|
if contentHeight == nil then
|
|
167
|
-
|
|
238
|
+
____temp_9 = nil
|
|
168
239
|
else
|
|
169
|
-
|
|
240
|
+
____temp_9 = math.max(0, (contentHeight - (grid.rowGap or grid.gap or 0) * (rows - 1)) / rows)
|
|
170
241
|
end
|
|
171
|
-
|
|
242
|
+
____grid_cellHeight_10 = ____temp_9
|
|
172
243
|
end
|
|
173
|
-
childHeight =
|
|
244
|
+
childHeight = ____grid_cellHeight_10
|
|
174
245
|
end
|
|
175
|
-
local
|
|
176
|
-
__TS__SparseArrayPush(
|
|
177
|
-
local path = {__TS__SparseArraySpread(
|
|
178
|
-
local children =
|
|
246
|
+
local ____array_11 = __TS__SparseArrayNew(__TS__Unpack(ancestors))
|
|
247
|
+
__TS__SparseArrayPush(____array_11, element)
|
|
248
|
+
local path = {__TS__SparseArraySpread(____array_11)}
|
|
249
|
+
local children = measureChildren(
|
|
250
|
+
nil,
|
|
251
|
+
layout,
|
|
179
252
|
sourceChildren,
|
|
180
|
-
|
|
253
|
+
childWidth,
|
|
254
|
+
childHeight,
|
|
255
|
+
path
|
|
181
256
|
)
|
|
182
257
|
local placements
|
|
183
258
|
if layout ~= nil then
|
|
184
259
|
local sizes = __TS__ArrayMap(
|
|
185
260
|
children,
|
|
186
|
-
function(____, child) return {width = child.width + child.margin.left + child.margin.right, height = child.height + child.margin.top + child.margin.bottom} end
|
|
261
|
+
function(____, child) return {width = child.width + child.margin.left + child.margin.right, height = child.height + child.margin.top + child.margin.bottom, anchor = child.cell.props.anchor} end
|
|
187
262
|
)
|
|
188
263
|
local positions = layout.kind == "flow" and calculateFlow(
|
|
189
264
|
nil,
|
|
190
265
|
__TS__ObjectAssign({}, layout.props, {width = contentWidth or 0, height = contentHeight or 0}),
|
|
191
266
|
sizes
|
|
192
|
-
) or calculateGrid(
|
|
267
|
+
) or calculateGrid(
|
|
268
|
+
nil,
|
|
269
|
+
__TS__ObjectAssign({}, layout.props, {width = contentWidth or 0, height = contentHeight or 0}),
|
|
270
|
+
sizes
|
|
271
|
+
)
|
|
193
272
|
placements = __TS__ArrayMap(
|
|
194
273
|
positions,
|
|
195
274
|
function(____, point) return {x = point.x + padding.left, y = point.y + padding.top} end
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/** Client files shipped with WoW. Names are catalog keys; paths are what the game resolves. */
|
|
2
|
+
export interface ClientMedia {
|
|
3
|
+
readonly label: string;
|
|
4
|
+
readonly path: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ClientBorder extends ClientMedia {
|
|
7
|
+
readonly edgeSize: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const progressTextures: {
|
|
10
|
+
readonly solid: {
|
|
11
|
+
readonly label: "Solid";
|
|
12
|
+
readonly path: "Interface\\Buttons\\WHITE8X8";
|
|
13
|
+
};
|
|
14
|
+
readonly blizzard: {
|
|
15
|
+
readonly label: "Blizzard";
|
|
16
|
+
readonly path: "Interface\\TargetingFrame\\UI-StatusBar";
|
|
17
|
+
};
|
|
18
|
+
readonly skills: {
|
|
19
|
+
readonly label: "Blizzard Character Skills Bar";
|
|
20
|
+
readonly path: "Interface\\PaperDollInfoFrame\\UI-Character-Skills-Bar";
|
|
21
|
+
};
|
|
22
|
+
readonly raid: {
|
|
23
|
+
readonly label: "Blizzard Raid Bar";
|
|
24
|
+
readonly path: "Interface\\RaidFrame\\Raid-Bar-Hp-Fill";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export declare const backgroundTextures: {
|
|
28
|
+
readonly solid: {
|
|
29
|
+
readonly label: "Solid";
|
|
30
|
+
readonly path: "Interface\\Buttons\\WHITE8X8";
|
|
31
|
+
};
|
|
32
|
+
readonly tooltip: {
|
|
33
|
+
readonly label: "Blizzard Tooltip";
|
|
34
|
+
readonly path: "Interface\\Tooltips\\UI-Tooltip-Background";
|
|
35
|
+
};
|
|
36
|
+
readonly dialog: {
|
|
37
|
+
readonly label: "Blizzard Dialog";
|
|
38
|
+
readonly path: "Interface\\DialogFrame\\UI-DialogBox-Background";
|
|
39
|
+
};
|
|
40
|
+
readonly dialogDark: {
|
|
41
|
+
readonly label: "Blizzard Dialog Dark";
|
|
42
|
+
readonly path: "Interface\\DialogFrame\\UI-DialogBox-Background-Dark";
|
|
43
|
+
};
|
|
44
|
+
readonly dialogGold: {
|
|
45
|
+
readonly label: "Blizzard Dialog Gold";
|
|
46
|
+
readonly path: "Interface\\DialogFrame\\UI-DialogBox-Gold-Background";
|
|
47
|
+
};
|
|
48
|
+
readonly collections: {
|
|
49
|
+
readonly label: "Blizzard Collections";
|
|
50
|
+
readonly path: "Interface\\Collections\\CollectionsBackgroundTile";
|
|
51
|
+
};
|
|
52
|
+
readonly garrison: {
|
|
53
|
+
readonly label: "Blizzard Garrison";
|
|
54
|
+
readonly path: "Interface\\Garrison\\GarrisonUIBackground";
|
|
55
|
+
};
|
|
56
|
+
readonly garrisonAlt: {
|
|
57
|
+
readonly label: "Blizzard Garrison 2";
|
|
58
|
+
readonly path: "Interface\\Garrison\\GarrisonUIBackground2";
|
|
59
|
+
};
|
|
60
|
+
readonly garrisonMission: {
|
|
61
|
+
readonly label: "Blizzard Garrison Mission";
|
|
62
|
+
readonly path: "Interface\\Garrison\\GarrisonMissionUIInfoBoxBackgroundTile";
|
|
63
|
+
};
|
|
64
|
+
readonly lowHealth: {
|
|
65
|
+
readonly label: "Blizzard Low Health";
|
|
66
|
+
readonly path: "Interface\\FullScreenTextures\\LowHealth";
|
|
67
|
+
};
|
|
68
|
+
readonly marble: {
|
|
69
|
+
readonly label: "Blizzard Marble";
|
|
70
|
+
readonly path: "Interface\\FrameGeneral\\UI-Background-Marble";
|
|
71
|
+
};
|
|
72
|
+
readonly outOfControl: {
|
|
73
|
+
readonly label: "Blizzard Out of Control";
|
|
74
|
+
readonly path: "Interface\\FullScreenTextures\\OutOfControl";
|
|
75
|
+
};
|
|
76
|
+
readonly parchment: {
|
|
77
|
+
readonly label: "Blizzard Parchment";
|
|
78
|
+
readonly path: "Interface\\AchievementFrame\\UI-Achievement-Parchment-Horizontal";
|
|
79
|
+
};
|
|
80
|
+
readonly parchmentGuild: {
|
|
81
|
+
readonly label: "Blizzard Parchment Guild";
|
|
82
|
+
readonly path: "Interface\\AchievementFrame\\UI-GuildAchievement-Parchment-Horizontal";
|
|
83
|
+
};
|
|
84
|
+
readonly rock: {
|
|
85
|
+
readonly label: "Blizzard Rock";
|
|
86
|
+
readonly path: "Interface\\FrameGeneral\\UI-Background-Rock";
|
|
87
|
+
};
|
|
88
|
+
readonly tabard: {
|
|
89
|
+
readonly label: "Blizzard Tabard";
|
|
90
|
+
readonly path: "Interface\\TabardFrame\\TabardFrameBackground";
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
export declare const borderTextures: {
|
|
94
|
+
readonly solid: {
|
|
95
|
+
readonly label: "Solid";
|
|
96
|
+
readonly path: "";
|
|
97
|
+
readonly edgeSize: 1;
|
|
98
|
+
};
|
|
99
|
+
readonly tooltip: {
|
|
100
|
+
readonly label: "Blizzard Tooltip";
|
|
101
|
+
readonly path: "Interface\\Tooltips\\UI-Tooltip-Border";
|
|
102
|
+
readonly edgeSize: 16;
|
|
103
|
+
};
|
|
104
|
+
readonly dialog: {
|
|
105
|
+
readonly label: "Blizzard Dialog";
|
|
106
|
+
readonly path: "Interface\\DialogFrame\\UI-DialogBox-Border";
|
|
107
|
+
readonly edgeSize: 32;
|
|
108
|
+
};
|
|
109
|
+
readonly dialogGold: {
|
|
110
|
+
readonly label: "Blizzard Dialog Gold";
|
|
111
|
+
readonly path: "Interface\\DialogFrame\\UI-DialogBox-Gold-Border";
|
|
112
|
+
readonly edgeSize: 32;
|
|
113
|
+
};
|
|
114
|
+
readonly achievementWood: {
|
|
115
|
+
readonly label: "Blizzard Achievement Wood";
|
|
116
|
+
readonly path: "Interface\\AchievementFrame\\UI-Achievement-WoodBorder";
|
|
117
|
+
readonly edgeSize: 16;
|
|
118
|
+
};
|
|
119
|
+
readonly chatBubble: {
|
|
120
|
+
readonly label: "Blizzard Chat Bubble";
|
|
121
|
+
readonly path: "Interface\\Tooltips\\ChatBubble-Backdrop";
|
|
122
|
+
readonly edgeSize: 16;
|
|
123
|
+
};
|
|
124
|
+
readonly party: {
|
|
125
|
+
readonly label: "Blizzard Party";
|
|
126
|
+
readonly path: "Interface\\CHARACTERFRAME\\UI-Party-Border";
|
|
127
|
+
readonly edgeSize: 16;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
/** Latin-capable faces present in every client locale. Cyrillic duplicates stay out. */
|
|
131
|
+
export declare const clientFonts: {
|
|
132
|
+
readonly friz: {
|
|
133
|
+
readonly label: "Friz Quadrata";
|
|
134
|
+
readonly path: "Fonts\\FRIZQT__.TTF";
|
|
135
|
+
};
|
|
136
|
+
readonly arialNarrow: {
|
|
137
|
+
readonly label: "Arial Narrow";
|
|
138
|
+
readonly path: "Fonts\\ARIALN.TTF";
|
|
139
|
+
};
|
|
140
|
+
readonly morpheus: {
|
|
141
|
+
readonly label: "Morpheus";
|
|
142
|
+
readonly path: "Fonts\\MORPHEUS.TTF";
|
|
143
|
+
};
|
|
144
|
+
readonly skurri: {
|
|
145
|
+
readonly label: "Skurri";
|
|
146
|
+
readonly path: "Fonts\\SKURRI.TTF";
|
|
147
|
+
};
|
|
148
|
+
readonly twoThousand: {
|
|
149
|
+
readonly label: "2002";
|
|
150
|
+
readonly path: "Fonts\\2002.TTF";
|
|
151
|
+
};
|
|
152
|
+
readonly twoThousandBold: {
|
|
153
|
+
readonly label: "2002 Bold";
|
|
154
|
+
readonly path: "Fonts\\2002B.TTF";
|
|
155
|
+
};
|
|
156
|
+
readonly hei: {
|
|
157
|
+
readonly label: "AR CrystalzcuheiGBK Demibold";
|
|
158
|
+
readonly path: "Fonts\\ARHei.TTF";
|
|
159
|
+
};
|
|
160
|
+
readonly zhongkaiCombat: {
|
|
161
|
+
readonly label: "AR ZhongkaiGBK Medium (Combat)";
|
|
162
|
+
readonly path: "Fonts\\ARKai_C.TTF";
|
|
163
|
+
};
|
|
164
|
+
readonly zhongkai: {
|
|
165
|
+
readonly label: "AR ZhongkaiGBK Medium";
|
|
166
|
+
readonly path: "Fonts\\ARKai_T.TTF";
|
|
167
|
+
};
|
|
168
|
+
readonly mok: {
|
|
169
|
+
readonly label: "MoK";
|
|
170
|
+
readonly path: "Fonts\\K_Pagetext.TTF";
|
|
171
|
+
};
|
|
172
|
+
readonly nimrod: {
|
|
173
|
+
readonly label: "Nimrod MT";
|
|
174
|
+
readonly path: "Fonts\\NIM_____.ttf";
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
export declare function resolveMediaPath(catalog: Readonly<Record<string, ClientMedia>>, value: string): string;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
+
local ____exports = {}
|
|
3
|
+
____exports.progressTextures = {solid = {label = "Solid", path = "Interface\\Buttons\\WHITE8X8"}, blizzard = {label = "Blizzard", path = "Interface\\TargetingFrame\\UI-StatusBar"}, skills = {label = "Blizzard Character Skills Bar", path = "Interface\\PaperDollInfoFrame\\UI-Character-Skills-Bar"}, raid = {label = "Blizzard Raid Bar", path = "Interface\\RaidFrame\\Raid-Bar-Hp-Fill"}}
|
|
4
|
+
____exports.backgroundTextures = {
|
|
5
|
+
solid = {label = "Solid", path = "Interface\\Buttons\\WHITE8X8"},
|
|
6
|
+
tooltip = {label = "Blizzard Tooltip", path = "Interface\\Tooltips\\UI-Tooltip-Background"},
|
|
7
|
+
dialog = {label = "Blizzard Dialog", path = "Interface\\DialogFrame\\UI-DialogBox-Background"},
|
|
8
|
+
dialogDark = {label = "Blizzard Dialog Dark", path = "Interface\\DialogFrame\\UI-DialogBox-Background-Dark"},
|
|
9
|
+
dialogGold = {label = "Blizzard Dialog Gold", path = "Interface\\DialogFrame\\UI-DialogBox-Gold-Background"},
|
|
10
|
+
collections = {label = "Blizzard Collections", path = "Interface\\Collections\\CollectionsBackgroundTile"},
|
|
11
|
+
garrison = {label = "Blizzard Garrison", path = "Interface\\Garrison\\GarrisonUIBackground"},
|
|
12
|
+
garrisonAlt = {label = "Blizzard Garrison 2", path = "Interface\\Garrison\\GarrisonUIBackground2"},
|
|
13
|
+
garrisonMission = {label = "Blizzard Garrison Mission", path = "Interface\\Garrison\\GarrisonMissionUIInfoBoxBackgroundTile"},
|
|
14
|
+
lowHealth = {label = "Blizzard Low Health", path = "Interface\\FullScreenTextures\\LowHealth"},
|
|
15
|
+
marble = {label = "Blizzard Marble", path = "Interface\\FrameGeneral\\UI-Background-Marble"},
|
|
16
|
+
outOfControl = {label = "Blizzard Out of Control", path = "Interface\\FullScreenTextures\\OutOfControl"},
|
|
17
|
+
parchment = {label = "Blizzard Parchment", path = "Interface\\AchievementFrame\\UI-Achievement-Parchment-Horizontal"},
|
|
18
|
+
parchmentGuild = {label = "Blizzard Parchment Guild", path = "Interface\\AchievementFrame\\UI-GuildAchievement-Parchment-Horizontal"},
|
|
19
|
+
rock = {label = "Blizzard Rock", path = "Interface\\FrameGeneral\\UI-Background-Rock"},
|
|
20
|
+
tabard = {label = "Blizzard Tabard", path = "Interface\\TabardFrame\\TabardFrameBackground"}
|
|
21
|
+
}
|
|
22
|
+
____exports.borderTextures = {
|
|
23
|
+
solid = {label = "Solid", path = "", edgeSize = 1},
|
|
24
|
+
tooltip = {label = "Blizzard Tooltip", path = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 16},
|
|
25
|
+
dialog = {label = "Blizzard Dialog", path = "Interface\\DialogFrame\\UI-DialogBox-Border", edgeSize = 32},
|
|
26
|
+
dialogGold = {label = "Blizzard Dialog Gold", path = "Interface\\DialogFrame\\UI-DialogBox-Gold-Border", edgeSize = 32},
|
|
27
|
+
achievementWood = {label = "Blizzard Achievement Wood", path = "Interface\\AchievementFrame\\UI-Achievement-WoodBorder", edgeSize = 16},
|
|
28
|
+
chatBubble = {label = "Blizzard Chat Bubble", path = "Interface\\Tooltips\\ChatBubble-Backdrop", edgeSize = 16},
|
|
29
|
+
party = {label = "Blizzard Party", path = "Interface\\CHARACTERFRAME\\UI-Party-Border", edgeSize = 16}
|
|
30
|
+
}
|
|
31
|
+
--- Latin-capable faces present in every client locale. Cyrillic duplicates stay out.
|
|
32
|
+
____exports.clientFonts = {
|
|
33
|
+
friz = {label = "Friz Quadrata", path = "Fonts\\FRIZQT__.TTF"},
|
|
34
|
+
arialNarrow = {label = "Arial Narrow", path = "Fonts\\ARIALN.TTF"},
|
|
35
|
+
morpheus = {label = "Morpheus", path = "Fonts\\MORPHEUS.TTF"},
|
|
36
|
+
skurri = {label = "Skurri", path = "Fonts\\SKURRI.TTF"},
|
|
37
|
+
twoThousand = {label = "2002", path = "Fonts\\2002.TTF"},
|
|
38
|
+
twoThousandBold = {label = "2002 Bold", path = "Fonts\\2002B.TTF"},
|
|
39
|
+
hei = {label = "AR CrystalzcuheiGBK Demibold", path = "Fonts\\ARHei.TTF"},
|
|
40
|
+
zhongkaiCombat = {label = "AR ZhongkaiGBK Medium (Combat)", path = "Fonts\\ARKai_C.TTF"},
|
|
41
|
+
zhongkai = {label = "AR ZhongkaiGBK Medium", path = "Fonts\\ARKai_T.TTF"},
|
|
42
|
+
mok = {label = "MoK", path = "Fonts\\K_Pagetext.TTF"},
|
|
43
|
+
nimrod = {label = "Nimrod MT", path = "Fonts\\NIM_____.ttf"}
|
|
44
|
+
}
|
|
45
|
+
function ____exports.resolveMediaPath(self, catalog, value)
|
|
46
|
+
local ____opt_0 = catalog[value]
|
|
47
|
+
return ____opt_0 and ____opt_0.path or value
|
|
48
|
+
end
|
|
49
|
+
return ____exports
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type OverlayGlowKind = "buttonOverlay" | "Pixel" | "ACShine" | "Proc";
|
|
2
|
+
export interface OverlayGlowOptions {
|
|
3
|
+
kind: OverlayGlowKind;
|
|
4
|
+
color?: {
|
|
5
|
+
r: number;
|
|
6
|
+
g: number;
|
|
7
|
+
b: number;
|
|
8
|
+
a?: number;
|
|
9
|
+
};
|
|
10
|
+
lines?: number;
|
|
11
|
+
frequency?: number;
|
|
12
|
+
length?: number;
|
|
13
|
+
thickness?: number;
|
|
14
|
+
scale?: number;
|
|
15
|
+
border?: boolean;
|
|
16
|
+
x?: number;
|
|
17
|
+
y?: number;
|
|
18
|
+
duration?: number;
|
|
19
|
+
}
|
|
20
|
+
/** Additive overlay. Addon code cannot install a shader, so each style is drawn with colored textures. */
|
|
21
|
+
export declare function startOverlayGlow(frame: wuiraNativeFrame, options: OverlayGlowOptions): () => void;
|