File src/ChorusAuraButtonTemplate.lua changed (mode: 100644) (index 006aed5..10e7c58) |
... |
... |
local function auraButtonValidate(auraButton) |
21 |
21 |
assert(auraButton.artwork ~= nil) |
assert(auraButton.artwork ~= nil) |
22 |
22 |
assert(auraButton.label ~= nil) |
assert(auraButton.label ~= nil) |
23 |
23 |
assert(auraButton.overlay ~= nil) |
assert(auraButton.overlay ~= nil) |
24 |
|
assert(auraButton.background ~= nil) |
|
25 |
24 |
end |
end |
26 |
25 |
|
|
27 |
|
local function applyArtwork(auraButton, artworkFile, owner) |
|
|
26 |
|
local function applyArtwork(auraButton, artworkFile) |
28 |
27 |
auraButtonValidate(auraButton) |
auraButtonValidate(auraButton) |
29 |
28 |
|
|
30 |
29 |
if not artworkFile then |
if not artworkFile then |
|
... |
... |
local function applyArtwork(auraButton, artworkFile, owner) |
39 |
38 |
local artwork = auraButton.artwork |
local artwork = auraButton.artwork |
40 |
39 |
assert(artwork ~= nil) |
assert(artwork ~= nil) |
41 |
40 |
artwork:SetTexture(artworkFile) |
artwork:SetTexture(artworkFile) |
42 |
|
|
|
43 |
|
local background = auraButton.background |
|
44 |
|
if 'player' == owner then |
|
45 |
|
background:SetTexture(1, 0.85, 0, 0.6) |
|
46 |
|
else |
|
47 |
|
background:SetTexture(0, 0, 0, 1) |
|
48 |
|
end |
|
49 |
41 |
end |
end |
50 |
42 |
|
|
51 |
|
local function applyOverlay(auraButton, category) |
|
|
43 |
|
local function applyOverlay(auraButton, category, owner) |
52 |
44 |
auraButtonValidate(auraButton) |
auraButtonValidate(auraButton) |
53 |
45 |
|
|
54 |
46 |
if not category then |
if not category then |
|
... |
... |
local function applyOverlay(auraButton, category) |
86 |
78 |
local fontSize = 12 |
local fontSize = 12 |
87 |
79 |
auraButton:SetScale(label:GetStringHeight() / fontSize) |
auraButton:SetScale(label:GetStringHeight() / fontSize) |
88 |
80 |
end |
end |
|
81 |
|
|
|
82 |
|
if owner and 'player' == owner then |
|
83 |
|
label:SetTextColor(1, 225 / 255, 0) |
|
84 |
|
else |
|
85 |
|
label:SetTextColor(1, 1, 1) |
|
86 |
|
end |
89 |
87 |
end |
end |
90 |
88 |
|
|
91 |
89 |
local function formatDuration(durationSec) |
local function formatDuration(durationSec) |
|
... |
... |
local function formatDuration(durationSec) |
97 |
95 |
t = string.format("%.0f", durationSec) |
t = string.format("%.0f", durationSec) |
98 |
96 |
elseif durationSec < 3600 then |
elseif durationSec < 3600 then |
99 |
97 |
t = string.format("%.0f m", durationSec / 60) |
t = string.format("%.0f m", durationSec / 60) |
100 |
|
else |
|
|
98 |
|
elseif durationSec < 3600 * 24 then |
101 |
99 |
t = string.format("%.0f h", durationSec / 60 / 60) |
t = string.format("%.0f h", durationSec / 60 / 60) |
|
100 |
|
else |
|
101 |
|
t = string.format("%.0f d", durationSec / 60 / 60 / 24) |
102 |
102 |
end |
end |
103 |
103 |
return t |
return t |
104 |
104 |
end |
end |
|
... |
... |
local function applyDuration(auraButton, now, totalDurationSec, expirationInstan |
126 |
126 |
durationRemainingSec = expirationInstance - now |
durationRemainingSec = expirationInstance - now |
127 |
127 |
end |
end |
128 |
128 |
|
|
129 |
|
local isButtonLarge = auraButton:GetHeight() >= 24 |
|
130 |
|
|
|
131 |
|
--[[ User readability tweaks. ]]-- |
|
132 |
129 |
local t = nil |
local t = nil |
133 |
|
if isButtonLarge then |
|
134 |
|
--[[ Given large button, separate text from artwork. ]]-- |
|
135 |
|
label:SetJustifyV('BOTTOM') |
|
136 |
|
if durationRemainingSec then |
|
137 |
|
t = formatDuration(durationRemainingSec) |
|
138 |
|
end |
|
139 |
|
else |
|
140 |
|
--[[ Given small button, overlap text with artwork. Additionally, only show short durations. ]]-- |
|
141 |
|
label:SetJustifyV('CENTER') |
|
142 |
|
if durationRemainingSec and durationRemainingSec < 60 then |
|
143 |
|
t = formatDuration(durationRemainingSec) |
|
144 |
|
end |
|
|
130 |
|
if durationRemainingSec then |
|
131 |
|
t = formatDuration(durationRemainingSec) |
145 |
132 |
end |
end |
146 |
133 |
|
|
147 |
134 |
label:SetText(t) |
label:SetText(t) |
|
... |
... |
local function auraButtonUpdateProcessor(self) |
166 |
153 |
applyDuration(self, GetTime(), durationSec, expirationInstance) |
applyDuration(self, GetTime(), durationSec, expirationInstance) |
167 |
154 |
end |
end |
168 |
155 |
|
|
169 |
|
local function applySize(auraButton) |
|
170 |
|
assert(auraButton ~= nil) |
|
171 |
|
|
|
172 |
|
local p = auraButton:GetParent() |
|
173 |
|
if not p then |
|
174 |
|
auraButton:SetSize(36, 36) |
|
175 |
|
return |
|
176 |
|
end |
|
177 |
|
|
|
178 |
|
local minSize = 12 |
|
179 |
|
local maxSize = 64 |
|
180 |
|
|
|
181 |
|
local a = auraButton:GetWidth() |
|
182 |
|
a = math.min(a, p:GetWidth()) |
|
183 |
|
a = math.min(math.max(minSize, a), maxSize) |
|
184 |
|
|
|
185 |
|
local b = auraButton:GetWidth() |
|
186 |
|
b = math.min(b, p:GetHeight()) |
|
187 |
|
b = math.min(math.max(minSize, b), maxSize) |
|
188 |
|
|
|
189 |
|
local c = math.min(a, b) |
|
190 |
|
auraButton:SetSize(c, c) |
|
191 |
|
|
|
192 |
|
local t = {auraButton.artwork, auraButton.overlay} |
|
193 |
|
local i = 0 |
|
194 |
|
while (i < #t) do |
|
195 |
|
i = i + 1 |
|
196 |
|
local e = t[i] |
|
197 |
|
assert(e ~= nil) |
|
198 |
|
local d = math.min(e:GetWidth(), e:GetHeight()) |
|
199 |
|
d = math.min(math.max(minSize, d), maxSize) |
|
200 |
|
e:SetSize(d, d) |
|
201 |
|
e:SetPoint('BOTTOMLEFT', (auraButton:GetWidth() - d) / 2, 0) |
|
202 |
|
end |
|
203 |
|
end |
|
204 |
|
|
|
205 |
156 |
local function apply(auraButton, unitDesignation, auraIndex, filter) |
local function apply(auraButton, unitDesignation, auraIndex, filter) |
206 |
157 |
auraButtonValidate(auraButton) |
auraButtonValidate(auraButton) |
207 |
158 |
|
|
|
... |
... |
local function apply(auraButton, unitDesignation, auraIndex, filter) |
239 |
190 |
return |
return |
240 |
191 |
end |
end |
241 |
192 |
|
|
242 |
|
applySize(auraButton) |
|
243 |
|
applyArtwork(auraButton, artworkFile, owner) |
|
|
193 |
|
applyArtwork(auraButton, artworkFile) |
244 |
194 |
applyDuration(auraButton, GetTime(), durationSec, expirationInstance) |
applyDuration(auraButton, GetTime(), durationSec, expirationInstance) |
245 |
|
applyOverlay(auraButton, category) |
|
|
195 |
|
applyOverlay(auraButton, category, owner) |
246 |
196 |
end |
end |
247 |
197 |
|
|
248 |
198 |
local function auraButtonEventProcessor(self, eventCategory) |
local function auraButtonEventProcessor(self, eventCategory) |
|
... |
... |
function Chorus.auraButtonMain(self) |
295 |
245 |
self.artwork = _G[n .. 'Artwork'] |
self.artwork = _G[n .. 'Artwork'] |
296 |
246 |
self.label = _G[n .. 'Text'] |
self.label = _G[n .. 'Text'] |
297 |
247 |
self.overlay = _G[n .. 'Overlay'] |
self.overlay = _G[n .. 'Overlay'] |
298 |
|
self.background = _G[n .. 'Background'] |
|
299 |
248 |
end |
end |
300 |
249 |
self:SetScript('OnEvent', auraButtonEventProcessor) |
self:SetScript('OnEvent', auraButtonEventProcessor) |
301 |
250 |
self:RegisterEvent('ADDON_LOADED') |
self:RegisterEvent('ADDON_LOADED') |
File src/ChorusAuraButtonTemplate.xml changed (mode: 100644) (index fbfb35c..cfaaec2) |
3 |
3 |
<Script file="ChorusAuraButtonTemplate.lua"/> |
<Script file="ChorusAuraButtonTemplate.lua"/> |
4 |
4 |
<Frame name="ChorusAuraButtonTemplate" virtual="true"> |
<Frame name="ChorusAuraButtonTemplate" virtual="true"> |
5 |
5 |
<Size> |
<Size> |
6 |
|
<AbsDimension x="36" y="36" /> |
|
|
6 |
|
<AbsDimension x="30" y="30" /> |
7 |
7 |
</Size> |
</Size> |
8 |
8 |
<Layers> |
<Layers> |
9 |
9 |
<Layer level="ARTWORK"> |
<Layer level="ARTWORK"> |
|
12 |
12 |
<AbsDimension x="24" y="24"/> |
<AbsDimension x="24" y="24"/> |
13 |
13 |
</Size> |
</Size> |
14 |
14 |
<Anchors> |
<Anchors> |
15 |
|
<Anchor point="BOTTOMLEFT"> |
|
|
15 |
|
<Anchor point="TOPLEFT"> |
16 |
16 |
<Offset> |
<Offset> |
17 |
|
<AbsDimension x="6" y="12"/> |
|
|
17 |
|
<AbsDimension x="3" y="0"/> |
18 |
18 |
</Offset> |
</Offset> |
19 |
19 |
</Anchor> |
</Anchor> |
20 |
20 |
</Anchors> |
</Anchors> |
|
26 |
26 |
<AbsDimension x="24" y="24"/> |
<AbsDimension x="24" y="24"/> |
27 |
27 |
</Size> |
</Size> |
28 |
28 |
<Anchors> |
<Anchors> |
29 |
|
<Anchor point="BOTTOMLEFT"> |
|
|
29 |
|
<Anchor point="TOPLEFT"> |
30 |
30 |
<Offset> |
<Offset> |
31 |
|
<AbsDimension x="6" y="12"/> |
|
|
31 |
|
<AbsDimension x="3" y="0"/> |
32 |
32 |
</Offset> |
</Offset> |
33 |
33 |
</Anchor> |
</Anchor> |
34 |
34 |
</Anchors> |
</Anchors> |
|
38 |
38 |
<Anchors> |
<Anchors> |
39 |
39 |
<Anchor point="BOTTOMLEFT"> |
<Anchor point="BOTTOMLEFT"> |
40 |
40 |
<Offset> |
<Offset> |
41 |
|
<AbsDimension x="-6" y="0"/> |
|
|
41 |
|
<AbsDimension x="0" y="0"/> |
42 |
42 |
</Offset> |
</Offset> |
43 |
43 |
</Anchor> |
</Anchor> |
44 |
|
<Anchor point="TOPRIGHT"> |
|
|
44 |
|
<Anchor point="TOPRIGHT" relativeTo="$parent" relativePoint="BOTTOMRIGHT"> |
45 |
45 |
<Offset> |
<Offset> |
46 |
|
<AbsDimension x="6" y="0"/> |
|
|
46 |
|
<AbsDimension x="0" y="24"/> |
47 |
47 |
</Offset> |
</Offset> |
48 |
48 |
</Anchor> |
</Anchor> |
49 |
49 |
</Anchors> |
</Anchors> |
50 |
50 |
</FontString> |
</FontString> |
51 |
51 |
</Layer> |
</Layer> |
52 |
|
<Layer level="BACKGROUND"> |
|
53 |
|
<Texture name="$parentBackground" nonBlocking="true" setAllPoints="true"> |
|
54 |
|
<Color r="0" g="0" b="0" a="1"/> |
|
55 |
|
</Texture> |
|
56 |
|
</Layer> |
|
57 |
52 |
</Layers> |
</Layers> |
58 |
53 |
<Scripts> |
<Scripts> |
59 |
54 |
<OnLoad>Chorus.auraButtonMain(self);</OnLoad> |
<OnLoad>Chorus.auraButtonMain(self);</OnLoad> |
File src/ChorusRaidFrame.xml changed (mode: 100644) (index 8f1d450..f6303bd) |
2 |
2 |
<Ui xmlns="http://www.blizzard.com/wow/ui/"> |
<Ui xmlns="http://www.blizzard.com/wow/ui/"> |
3 |
3 |
<Frame name="ChorusRaidFrameGroupFrameTemplate" inherits="SecureRaidGroupHeaderTemplate" virtual="true" hidden="false"> |
<Frame name="ChorusRaidFrameGroupFrameTemplate" inherits="SecureRaidGroupHeaderTemplate" virtual="true" hidden="false"> |
4 |
4 |
<Size> |
<Size> |
5 |
|
<AbsDimension x="768" y="144"/> |
|
|
5 |
|
<AbsDimension x="1024" y="128"/> |
6 |
6 |
</Size> |
</Size> |
7 |
7 |
<Attributes> |
<Attributes> |
8 |
8 |
<Attribute name="columnAnchorPoint" type="string" value="LEFT"/> |
<Attribute name="columnAnchorPoint" type="string" value="LEFT"/> |
|
12 |
12 |
<Attribute name="maxColumns" type="number" value="5"/> |
<Attribute name="maxColumns" type="number" value="5"/> |
13 |
13 |
<Attribute name="template" type="string" value="ChorusRaidUnitButtonTemplate"/> |
<Attribute name="template" type="string" value="ChorusRaidUnitButtonTemplate"/> |
14 |
14 |
<Attribute name="unitsPerColumn" type="number" value="1"/> |
<Attribute name="unitsPerColumn" type="number" value="1"/> |
|
15 |
|
<Attribute name="columnSpacing" type="number" value="12"/> |
15 |
16 |
</Attributes> |
</Attributes> |
16 |
17 |
</Frame> |
</Frame> |
17 |
18 |
<Frame name="ChorusRaidFrame"> |
<Frame name="ChorusRaidFrame"> |
18 |
19 |
<Size> |
<Size> |
19 |
|
<AbsDimension x="768" y="512"/> |
|
|
20 |
|
<AbsDimension x="1024" y="512"/> |
20 |
21 |
</Size> |
</Size> |
21 |
22 |
<Anchors> |
<Anchors> |
22 |
23 |
<Anchor point="TOPLEFT"> |
<Anchor point="TOPLEFT"> |
23 |
24 |
<Offset> |
<Offset> |
24 |
|
<AbsDimension x="0" y="0"/> |
|
|
25 |
|
<AbsDimension x="0" y="-360"/> |
25 |
26 |
</Offset> |
</Offset> |
26 |
27 |
</Anchor> |
</Anchor> |
27 |
28 |
</Anchors> |
</Anchors> |
28 |
29 |
<Frames> |
<Frames> |
29 |
30 |
<Frame name="$parentGroupFrame1" inherits="ChorusRaidFrameGroupFrameTemplate" id="1"> |
<Frame name="$parentGroupFrame1" inherits="ChorusRaidFrameGroupFrameTemplate" id="1"> |
30 |
|
<Size> |
|
31 |
|
<AbsDimension x="800" y="144"/> |
|
32 |
|
</Size> |
|
33 |
31 |
<Anchors> |
<Anchors> |
34 |
32 |
<Anchor point="BOTTOMLEFT" relativeTo="$parent" relativePoint="BOTTOMLEFT"> |
<Anchor point="BOTTOMLEFT" relativeTo="$parent" relativePoint="BOTTOMLEFT"> |
35 |
33 |
<Offset> |
<Offset> |
|
48 |
46 |
</Attributes> |
</Attributes> |
49 |
47 |
</Frame> |
</Frame> |
50 |
48 |
<Frame name="$parentGroupFrame2" inherits="ChorusRaidFrameGroupFrameTemplate" id="2"> |
<Frame name="$parentGroupFrame2" inherits="ChorusRaidFrameGroupFrameTemplate" id="2"> |
51 |
|
<Size> |
|
52 |
|
<AbsDimension x="800" y="144"/> |
|
53 |
|
</Size> |
|
54 |
49 |
<Anchors> |
<Anchors> |
55 |
50 |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame1" relativePoint="TOPLEFT"> |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame1" relativePoint="TOPLEFT"> |
56 |
51 |
<Offset> |
<Offset> |
|
63 |
58 |
</Attributes> |
</Attributes> |
64 |
59 |
</Frame> |
</Frame> |
65 |
60 |
<Frame name="$parentGroupFrame3" inherits="ChorusRaidFrameGroupFrameTemplate" id="3"> |
<Frame name="$parentGroupFrame3" inherits="ChorusRaidFrameGroupFrameTemplate" id="3"> |
66 |
|
<Size> |
|
67 |
|
<AbsDimension x="800" y="144"/> |
|
68 |
|
</Size> |
|
69 |
61 |
<Anchors> |
<Anchors> |
70 |
62 |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame2" relativePoint="TOPLEFT"> |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame2" relativePoint="TOPLEFT"> |
71 |
63 |
<Offset> |
<Offset> |
|
78 |
70 |
</Attributes> |
</Attributes> |
79 |
71 |
</Frame> |
</Frame> |
80 |
72 |
<Frame name="$parentGroupFrame4" inherits="ChorusRaidFrameGroupFrameTemplate" id="4"> |
<Frame name="$parentGroupFrame4" inherits="ChorusRaidFrameGroupFrameTemplate" id="4"> |
81 |
|
<Size> |
|
82 |
|
<AbsDimension x="800" y="144"/> |
|
83 |
|
</Size> |
|
84 |
73 |
<Anchors> |
<Anchors> |
85 |
74 |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame3" relativePoint="TOPLEFT"> |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame3" relativePoint="TOPLEFT"> |
86 |
75 |
<Offset> |
<Offset> |
|
93 |
82 |
</Attributes> |
</Attributes> |
94 |
83 |
</Frame> |
</Frame> |
95 |
84 |
<Frame name="$parentGroupFrame5" inherits="ChorusRaidFrameGroupFrameTemplate" id="5"> |
<Frame name="$parentGroupFrame5" inherits="ChorusRaidFrameGroupFrameTemplate" id="5"> |
96 |
|
<Size> |
|
97 |
|
<AbsDimension x="800" y="144"/> |
|
98 |
|
</Size> |
|
99 |
85 |
<Anchors> |
<Anchors> |
100 |
86 |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame4" relativePoint="TOPLEFT"> |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame4" relativePoint="TOPLEFT"> |
101 |
87 |
<Offset> |
<Offset> |
|
108 |
94 |
</Attributes> |
</Attributes> |
109 |
95 |
</Frame> |
</Frame> |
110 |
96 |
<Frame name="$parentGroupFrame6" inherits="ChorusRaidFrameGroupFrameTemplate" id="6"> |
<Frame name="$parentGroupFrame6" inherits="ChorusRaidFrameGroupFrameTemplate" id="6"> |
111 |
|
<Size> |
|
112 |
|
<AbsDimension x="800" y="144"/> |
|
113 |
|
</Size> |
|
114 |
97 |
<Anchors> |
<Anchors> |
115 |
98 |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame5" relativePoint="TOPLEFT"> |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame5" relativePoint="TOPLEFT"> |
116 |
99 |
<Offset> |
<Offset> |
|
123 |
106 |
</Attributes> |
</Attributes> |
124 |
107 |
</Frame> |
</Frame> |
125 |
108 |
<Frame name="$parentGroupFrame7" inherits="ChorusRaidFrameGroupFrameTemplate" id="7"> |
<Frame name="$parentGroupFrame7" inherits="ChorusRaidFrameGroupFrameTemplate" id="7"> |
126 |
|
<Size> |
|
127 |
|
<AbsDimension x="800" y="144"/> |
|
128 |
|
</Size> |
|
129 |
109 |
<Anchors> |
<Anchors> |
130 |
110 |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame6" relativePoint="TOPLEFT"> |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame6" relativePoint="TOPLEFT"> |
131 |
111 |
<Offset> |
<Offset> |
|
138 |
118 |
</Attributes> |
</Attributes> |
139 |
119 |
</Frame> |
</Frame> |
140 |
120 |
<Frame name="$parentGroupFrame8" inherits="ChorusRaidFrameGroupFrameTemplate" id="8"> |
<Frame name="$parentGroupFrame8" inherits="ChorusRaidFrameGroupFrameTemplate" id="8"> |
141 |
|
<Size> |
|
142 |
|
<AbsDimension x="800" y="144"/> |
|
143 |
|
</Size> |
|
144 |
121 |
<Anchors> |
<Anchors> |
145 |
122 |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame7" relativePoint="TOPLEFT"> |
<Anchor point="BOTTOMLEFT" relativeTo="$parentGroupFrame7" relativePoint="TOPLEFT"> |
146 |
123 |
<Offset> |
<Offset> |
|
153 |
130 |
</Attributes> |
</Attributes> |
154 |
131 |
</Frame> |
</Frame> |
155 |
132 |
</Frames> |
</Frames> |
|
133 |
|
<Scripts> |
|
134 |
|
<OnLoad> |
|
135 |
|
self:RegisterEvent('PLAYER_LOGIN'); |
|
136 |
|
self:SetScript('OnEvent', function(f) |
|
137 |
|
f:UnregisterAllEvents() |
|
138 |
|
local p = self:GetParent() or UIParent; |
|
139 |
|
f:SetPoint('TOPLEFT', p, 'TOPLEFT', (p:GetWidth() - f:GetWidth()) / 2, p:GetHeight() / -3); |
|
140 |
|
f:SetPoint('BOTTOMRIGHT', p, 'TOPLEFT', p:GetWidth() / 3, p:GetHeight() / -3 * 2); |
|
141 |
|
end) |
|
142 |
|
</OnLoad> |
|
143 |
|
</Scripts> |
156 |
144 |
</Frame> |
</Frame> |
157 |
145 |
</Ui> |
</Ui> |
File src/ChorusRaidUnitButtonTemplate.xml changed (mode: 100644) (index f5c692a..16db61a) |
3 |
3 |
<Script file="ChorusRaidUnitButtonTemplate.lua"/> |
<Script file="ChorusRaidUnitButtonTemplate.lua"/> |
4 |
4 |
<Button name="ChorusRaidUnitButtonTemplate" toplevel="true" inherits="SecureUnitButtonTemplate" virtual="true" enableMouse="true"> |
<Button name="ChorusRaidUnitButtonTemplate" toplevel="true" inherits="SecureUnitButtonTemplate" virtual="true" enableMouse="true"> |
5 |
5 |
<Size> |
<Size> |
6 |
|
<AbsDimension x="144" y="84"/> |
|
|
6 |
|
<AbsDimension x="204" y="126"/> |
7 |
7 |
</Size> |
</Size> |
8 |
|
<Layers> |
|
9 |
|
<Layer level="BACKGROUND"> |
|
10 |
|
<Texture name="$parentBackground"> |
|
11 |
|
<Color r="0" g="0" b="0"/> |
|
12 |
|
</Texture> |
|
13 |
|
</Layer> |
|
14 |
|
</Layers> |
|
15 |
8 |
<Frames> |
<Frames> |
16 |
9 |
<Frame name="$parentUnitNameFrame" inherits="ChorusUnitNameFrameTemplate"> |
<Frame name="$parentUnitNameFrame" inherits="ChorusUnitNameFrameTemplate"> |
17 |
10 |
<Anchors> |
<Anchors> |
|
36 |
29 |
</Anchor> |
</Anchor> |
37 |
30 |
<Anchor point="BOTTOMRIGHT" relativeTo="$parent" relativePoint="TOPRIGHT"> |
<Anchor point="BOTTOMRIGHT" relativeTo="$parent" relativePoint="TOPRIGHT"> |
38 |
31 |
<Offset> |
<Offset> |
39 |
|
<AbsDimension x="0" y="-36"/> |
|
|
32 |
|
<AbsDimension x="0" y="-48"/> |
40 |
33 |
</Offset> |
</Offset> |
41 |
34 |
</Anchor> |
</Anchor> |
42 |
35 |
</Anchors> |
</Anchors> |
|
55 |
48 |
</Anchor> |
</Anchor> |
56 |
49 |
</Anchors> |
</Anchors> |
57 |
50 |
</StatusBar> |
</StatusBar> |
58 |
|
<Frame name="$parentRaidTargetIconFrame" inherits="ChorusRaidTargetIconFrameTemplate"> |
|
|
51 |
|
<Frame name="$parentRaidTargetIconFrame" inherits="ChorusRaidTargetIconFrameTemplate" frameStrata="TOOLTIP"> |
59 |
52 |
<Anchors> |
<Anchors> |
60 |
|
<Anchor point="TOPLEFT" relativeTo="$parentPowerFrame" relativePoint="BOTTOMLEFT"> |
|
|
53 |
|
<Anchor point="TOPLEFT" relativeTo="$parent" relativePoint="TOPLEFT"> |
61 |
54 |
<Offset> |
<Offset> |
62 |
|
<AbsDimension x="0" y="0"/> |
|
|
55 |
|
<AbsDimension x="94" y="-36"/> |
63 |
56 |
</Offset> |
</Offset> |
64 |
57 |
</Anchor> |
</Anchor> |
65 |
58 |
</Anchors> |
</Anchors> |
66 |
59 |
</Frame> |
</Frame> |
67 |
|
<Frame name="$parentThreatFrame" inherits="ChorusThreatFrameTemplate"> |
|
|
60 |
|
<Frame name="$parentThreatFrame" inherits="ChorusThreatFrameTemplate" frameStrata="TOOLTIP"> |
68 |
61 |
<Anchors> |
<Anchors> |
69 |
|
<Anchor point="TOPLEFT" relativeTo="$parentPowerFrame" relativePoint="BOTTOMLEFT"> |
|
|
62 |
|
<Anchor point="TOPLEFT" relativeTo="$parent" relativePoint="TOPLEFT"> |
70 |
63 |
<Offset> |
<Offset> |
71 |
|
<AbsDimension x="16" y="0"/> |
|
|
64 |
|
<AbsDimension x="0" y="-36"/> |
72 |
65 |
</Offset> |
</Offset> |
73 |
66 |
</Anchor> |
</Anchor> |
74 |
67 |
</Anchors> |
</Anchors> |
75 |
68 |
</Frame> |
</Frame> |
76 |
|
<Frame name="$parentRangeFrame" inherits="ChorusRangeFrameTemplate"> |
|
|
69 |
|
<Frame name="$parentRangeFrame" inherits="ChorusRangeFrameTemplate" frameStrata="TOOLTIP"> |
77 |
70 |
<Anchors> |
<Anchors> |
78 |
|
<Anchor point="TOPRIGHT" relativeTo="$parentPowerFrame" relativePoint="BOTTOMRIGHT"> |
|
|
71 |
|
<Anchor point="TOPRIGHT" relativeTo="$parent" relativePoint="TOPLEFT"> |
79 |
72 |
<Offset> |
<Offset> |
80 |
|
<AbsDimension x="0" y="0"/> |
|
|
73 |
|
<AbsDimension x="0" y="-36"/> |
81 |
74 |
</Offset> |
</Offset> |
82 |
75 |
</Anchor> |
</Anchor> |
83 |
76 |
</Anchors> |
</Anchors> |
84 |
77 |
</Frame> |
</Frame> |
85 |
78 |
<Frame name="$parentBuffFrame" inherits="ChorusAuraFrameTemplate"> |
<Frame name="$parentBuffFrame" inherits="ChorusAuraFrameTemplate"> |
86 |
|
<Size> |
|
87 |
|
<AbsDimension x="144" y="24"/> |
|
88 |
|
</Size> |
|
89 |
79 |
<Anchors> |
<Anchors> |
90 |
|
<Anchor point="TOPLEFT" relativeTo="$parentPowerFrame" relativePoint="BOTTOMLEFT"> |
|
|
80 |
|
<Anchor point="BOTTOMLEFT"> |
91 |
81 |
<Offset> |
<Offset> |
92 |
|
<AbsDimension x="0" y="-16"/> |
|
|
82 |
|
<AbsDimension x="0" y="36"/> |
|
83 |
|
</Offset> |
|
84 |
|
</Anchor> |
|
85 |
|
<Anchor point="TOPRIGHT" relativeTo="$parent" relativePoint="BOTTOMLEFT"> |
|
86 |
|
<Offset> |
|
87 |
|
<AbsDimension x="0" y="66"/> |
93 |
88 |
</Offset> |
</Offset> |
94 |
89 |
</Anchor> |
</Anchor> |
95 |
90 |
</Anchors> |
</Anchors> |
96 |
91 |
</Frame> |
</Frame> |
97 |
92 |
<Frame name="$parentDebuffFrame" inherits="ChorusAuraFrameTemplate"> |
<Frame name="$parentDebuffFrame" inherits="ChorusAuraFrameTemplate"> |
98 |
|
<Size> |
|
99 |
|
<AbsDimension x="144" y="24"/> |
|
100 |
|
</Size> |
|
101 |
93 |
<Anchors> |
<Anchors> |
102 |
|
<Anchor point="TOPLEFT" relativeTo="$parentBuffFrame" relativePoint="BOTTOMLEFT"> |
|
|
94 |
|
<Anchor point="BOTTOMLEFT"> |
103 |
95 |
<Offset> |
<Offset> |
104 |
96 |
<AbsDimension x="0" y="0"/> |
<AbsDimension x="0" y="0"/> |
105 |
97 |
</Offset> |
</Offset> |
106 |
98 |
</Anchor> |
</Anchor> |
|
99 |
|
<Anchor point="TOPRIGHT" relativeTo="$parent" relativePoint="BOTTOMLEFT"> |
|
100 |
|
<Offset> |
|
101 |
|
<AbsDimension x="0" y="30"/> |
|
102 |
|
</Offset> |
|
103 |
|
</Anchor> |
107 |
104 |
</Anchors> |
</Anchors> |
108 |
105 |
</Frame> |
</Frame> |
109 |
106 |
</Frames> |
</Frames> |