vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 function DART_Alpha(textureIndex, alpha)
2 if (not alpha) then return; end
3 if (not tonumber(alpha)) then return; end
4 if (alpha < 0 or alpha > 1) then return; end
5 if (not textureIndex) then return; end
6 local texture = getglobal("DART_Texture_"..textureIndex.."_Texture");
7 if (not texture) then return; end
8 DART_Settings[DART_INDEX][textureIndex].alpha = alpha;
9 if (not texture.fauxhidden) then
10 texture:SetAlpha(alpha);
11 end
12 end
13  
14 function DART_Attach(textureIndex, attach, attachframe, attachpoint, attachto, xoffset, yoffset)
15 if ((not textureIndex) or (not attach) or (not attachframe) or (not attachpoint) or (not attachto) or (not xoffset) or (not yoffset)) then return; end
16 if (attachframe == "") then return; end
17 local texture = getglobal("DART_Texture_"..textureIndex);
18 if (not texture) then return; end
19 if (not getglobal(attachframe)) then return; end
20 if ((not tonumber(xoffset)) or (not tonumber(yoffset)) or (not tonumber(attach))) then return; end
21 if (attach < 1 or attach > 4) then return; end
22 local ap, at;
23 for i=1, 9 do
24 if (attachpoint == DART_ATTACH_POINTS[i]) then
25 ap = i;
26 end
27 if (attachto == DART_ATTACH_POINTS[i]) then
28 at = i;
29 end
30 end
31 if ((not ap) or (not at)) then return; end
32 DART_Settings[DART_INDEX][textureIndex].attachframe[attach] = attachframe;
33 DART_Settings[DART_INDEX][textureIndex].attachpoint[attach] = ap;
34 DART_Settings[DART_INDEX][textureIndex].attachto[attach] = at;
35 DART_Settings[DART_INDEX][textureIndex].xoffset[attach] = xoffset;
36 DART_Settings[DART_INDEX][textureIndex].yoffset[attach] = yoffset;
37 texture:ClearAllPoints();
38 for i=1,4 do
39 if (DART_Settings[DART_INDEX][textureIndex].attachframe[i] and DART_Settings[DART_INDEX][textureIndex].attachframe[i] ~= "") then
40 texture:SetPoint(DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].attachpoint[i]], DART_Settings[DART_INDEX][textureIndex].attachframe[i], DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].attachto[i]], DART_Settings[DART_INDEX][textureIndex].xoffset[i], DART_Settings[DART_INDEX][textureIndex].yoffset[i]);
41 end
42 end
43 end
44  
45 function DART_BackgroundAlpha(textureIndex, a)
46 if ((not textureIndex) or (not a)) then return; end
47 local texture = getglobal("DART_Texture_"..textureIndex);
48 if (not texture) then return; end
49 if (not tonumber(a)) then return; end
50 if (a < 0 or a > 1) then return; end
51 DART_Settings[DART_INDEX][textureIndex].bgalpha = a;
52 if (not DART_Settings[DART_INDEX][textureIndex].hidebg) then
53 texture:SetBackdropColor(DART_Settings[DART_INDEX][textureIndex].bgcolor.r, DART_Settings[DART_INDEX][textureIndex].bgcolor.g, DART_Settings[DART_INDEX][textureIndex].bgcolor.b, a);
54 end
55 end
56  
57 function DART_BackgroundColor(textureIndex, r, g, b, a)
58 if ((not textureIndex) or (not r) or (not g) or (not b)) then return; end
59 local texture = getglobal("DART_Texture_"..textureIndex);
60 if (not texture) then return; end
61 if (not a) then
62 a = DART_Settings[DART_INDEX][textureIndex].bgalpha;
63 end
64 if ((not tonumber(r)) or (not tonumber(g)) or (not tonumber(b)) or (not tonumber(a))) then return; end
65 if (a < 0 or a > 1) then return; end
66 if (r < 0 or r > 1) then return; end
67 if (g < 0 or g > 1) then return; end
68 if (b < 0 or b > 1) then return; end
69 DART_Settings[DART_INDEX][textureIndex].bgcolor.r = r;
70 DART_Settings[DART_INDEX][textureIndex].bgcolor.g = g;
71 DART_Settings[DART_INDEX][textureIndex].bgcolor.b = b;
72 DART_Settings[DART_INDEX][textureIndex].bgalpha = a;
73 if (not DART_Settings[DART_INDEX][textureIndex].hidebg) then
74 texture:SetBackdropColor(r, g, b, a);
75 end
76 end
77  
78 function DART_BorderAlpha(textureIndex, a)
79 if ((not textureIndex) or (not a)) then return; end
80 local texture = getglobal("DART_Texture_"..textureIndex);
81 if (not texture) then return; end
82 if (not tonumber(a)) then return; end
83 if (a < 0 or a > 1) then return; end
84 DART_Settings[DART_INDEX][textureIndex].borderalpha = a;
85 if (not DART_Settings[DART_INDEX][textureIndex].hidebg) then
86 texture:SetBackdropBorderColor(DART_Settings[DART_INDEX][textureIndex].bordercolor.r, DART_Settings[DART_INDEX][textureIndex].bordercolor.g, DART_Settings[DART_INDEX][textureIndex].bordercolor.b, a);
87 end
88 end
89  
90 function DART_BorderColor(textureIndex, r, g, b, a)
91 if ((not textureIndex) or (not r) or (not g) or (not b)) then return; end
92 local texture = getglobal("DART_Texture_"..textureIndex);
93 if (not texture) then return; end
94 if (not a) then
95 a = DART_Settings[DART_INDEX][textureIndex].borderalpha;
96 end
97 if ((not tonumber(r)) or (not tonumber(g)) or (not tonumber(b)) or (not tonumber(a))) then return; end
98 if (a < 0 or a > 1) then return; end
99 if (r < 0 or r > 1) then return; end
100 if (g < 0 or g > 1) then return; end
101 if (b < 0 or b > 1) then return; end
102 DART_Settings[DART_INDEX][textureIndex].bordercolor.r = r;
103 DART_Settings[DART_INDEX][textureIndex].bordercolor.g = g;
104 DART_Settings[DART_INDEX][textureIndex].bordercolor.b = b;
105 DART_Settings[DART_INDEX][textureIndex].borderalpha = a;
106 if (not DART_Settings[DART_INDEX][textureIndex].hidebg) then
107 texture:SetBackdropBorderColor(r, g, b, a);
108 end
109 end
110  
111 function DART_Color(textureIndex, r, g, b, a)
112 if ((not textureIndex) or (not r) or (not g) or (not b)) then return; end
113 local texture = getglobal("DART_Texture_"..textureIndex.."_Texture");
114 if (not texture) then return; end
115 if (not a) then
116 a = DART_Settings[DART_INDEX][textureIndex].alpha;
117 end
118 if ((not tonumber(r)) or (not tonumber(g)) or (not tonumber(b)) or (not tonumber(a))) then return; end
119 if (a < 0 or a > 1) then return; end
120 if (r < 0 or r > 1) then return; end
121 if (g < 0 or g > 1) then return; end
122 if (b < 0 or b > 1) then return; end
123 DART_Settings[DART_INDEX][textureIndex].color.r = r;
124 DART_Settings[DART_INDEX][textureIndex].color.g = g;
125 DART_Settings[DART_INDEX][textureIndex].color.b = b;
126 DART_Settings[DART_INDEX][textureIndex].alpha = a;
127 texture:SetVertexColor(r, g, b);
128 texture:SetAlpha(a);
129 end
130  
131 function DART_FauxHide(textureIndex)
132 local texture = getglobal("DART_Texture_"..textureIndex);
133 if (texture.fauxhidden) then return; end
134 texture.fauxhidden = true;
135 texture:SetAlpha(0);
136 texture:EnableMouse(false);
137 texture:EnableMouseWheel(false);
138 end
139  
140 function DART_FauxShow(textureIndex)
141 local texture = getglobal("DART_Texture_"..textureIndex);
142 if (not texture.fauxhidden) then return; end
143 texture.fauxhidden = nil;
144 texture:SetAlpha(1);
145 texture:EnableMouse(1);
146 texture:EnableMouseWheel(1);
147 texture:SetBackdropColor(DART_Settings[DART_INDEX][textureIndex].bgcolor.r, DART_Settings[DART_INDEX][textureIndex].bgcolor.g, DART_Settings[DART_INDEX][textureIndex].bgcolor.b, DART_Settings[DART_INDEX][textureIndex].bgalpha);
148 texture:SetBackdropBorderColor(DART_Settings[DART_INDEX][textureIndex].bordercolor.r, DART_Settings[DART_INDEX][textureIndex].bordercolor.g, DART_Settings[DART_INDEX][textureIndex].bordercolor.b, DART_Settings[DART_INDEX][textureIndex].borderalpha);
149 getglobal("DART_Texture_"..textureIndex.."_Texture"):SetAlpha(DART_Settings[DART_INDEX][textureIndex].alpha);
150 getglobal("DART_Texture_"..textureIndex.."_Texture"):SetBlendMode(DART_Settings[DART_INDEX][textureIndex].blendmode);
151 end
152  
153 function DART_Height(textureIndex, height)
154 if (not textureIndex) then return; end
155 if (not height) then return; end
156 if (not tonumber(height)) then return; end
157 if (height <= 0) then return; end
158 local texture = getglobal("DART_Texture_"..textureIndex);
159 if (not texture) then return; end
160 DART_Settings[DART_INDEX][textureIndex].height = height;
161 texture:SetHeight(height);
162 end
163  
164 function DART_Hide(textureIndex)
165 if (not textureIndex) then return; end
166 local texture = getglobal("DART_Texture_"..textureIndex);
167 if (not texture) then return; end
168 DART_Settings[DART_INDEX][textureIndex].hide = true;
169 texture:Hide();
170 end
171  
172 function DART_HighlightAlpha(textureIndex, alpha)
173 if (not alpha) then return; end
174 if (not tonumber(alpha)) then return; end
175 if (alpha < 0 or alpha > 1) then return; end
176 if (not textureIndex) then return; end
177 local texture = getglobal("DART_Texture_"..textureIndex.."_Highlight");
178 if (not texture) then return; end
179 DART_Settings[DART_INDEX][textureIndex].highlightalpha = alpha;
180 texture:SetAlpha(alpha);
181 end
182  
183 function DART_HighlightColor(textureIndex, r, g, b, a)
184 if ((not textureIndex) or (not r) or (not g) or (not b)) then return; end
185 local texture = getglobal("DART_Texture_"..textureIndex.."_Highlight");
186 if (not texture) then return; end
187 if (not a) then
188 a = DART_Settings[DART_INDEX][textureIndex].highlightalpha;
189 end
190 if ((not tonumber(r)) or (not tonumber(g)) or (not tonumber(b)) or (not tonumber(a))) then return; end
191 if (a < 0 or a > 1) then return; end
192 if (r < 0 or r > 1) then return; end
193 if (g < 0 or g > 1) then return; end
194 if (b < 0 or b > 1) then return; end
195 DART_Settings[DART_INDEX][textureIndex].highlightcolor.r = r;
196 DART_Settings[DART_INDEX][textureIndex].highlightcolor.g = g;
197 DART_Settings[DART_INDEX][textureIndex].highlightcolor.b = b;
198 DART_Settings[DART_INDEX][textureIndex].highlightalpha = a;
199 texture:SetVertexColor(r, g, b);
200 texture:SetAlpha(a);
201 end
202  
203 function DART_MoveDown(textureIndex, attachIndex, amount)
204 if ((not textureIndex) or (not attachIndex) or (not amount)) then return; end
205 local texture = getglobal("DART_Texture_"..textureIndex);
206 if (not texture) then return; end
207 if ((not tonumber(attachIndex)) or (not tonumber(amount))) then return; end
208 if (attachIndex < 1 or attachIndex > 4) then return; end
209 DART_Settings[DART_INDEX][textureIndex].yoffset[attachIndex] = DART_Settings[DART_INDEX][textureIndex].yoffset[attachIndex] - amount;
210 texture:ClearAllPoints();
211 for i=1,4 do
212 if (DART_Settings[DART_INDEX][textureIndex].attachframe[i] and DART_Settings[DART_INDEX][textureIndex].attachframe[i] ~= "") then
213 texture:SetPoint(DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].attachpoint[i]], DART_Settings[DART_INDEX][textureIndex].attachframe[i], DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].attachto[i]], DART_Settings[DART_INDEX][textureIndex].xoffset[i], DART_Settings[DART_INDEX][textureIndex].yoffset[i]);
214 end
215 end
216 end
217  
218 function DART_MoveLeft(textureIndex, attachIndex, amount)
219 if ((not textureIndex) or (not attachIndex) or (not amount)) then return; end
220 local texture = getglobal("DART_Texture_"..textureIndex);
221 if (not texture) then return; end
222 if ((not tonumber(attachIndex)) or (not tonumber(amount))) then return; end
223 if (attachIndex < 1 or attachIndex > 4) then return; end
224 DART_Settings[DART_INDEX][textureIndex].xoffset[attachIndex] = DART_Settings[DART_INDEX][textureIndex].xoffset[attachIndex] - amount;
225 texture:ClearAllPoints();
226 for i=1,4 do
227 if (DART_Settings[DART_INDEX][textureIndex].attachframe[i] and DART_Settings[DART_INDEX][textureIndex].attachframe[i] ~= "") then
228 texture:SetPoint(DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].attachpoint[i]], DART_Settings[DART_INDEX][textureIndex].attachframe[i], DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].attachto[i]], DART_Settings[DART_INDEX][textureIndex].xoffset[i], DART_Settings[DART_INDEX][textureIndex].yoffset[i]);
229 end
230 end
231 end
232  
233 function DART_MoveRight(textureIndex, attachIndex, amount)
234 if ((not textureIndex) or (not attachIndex) or (not amount)) then return; end
235 local texture = getglobal("DART_Texture_"..textureIndex);
236 if (not texture) then return; end
237 if ((not tonumber(attachIndex)) or (not tonumber(amount))) then return; end
238 if (attachIndex < 1 or attachIndex > 4) then return; end
239 DART_Settings[DART_INDEX][textureIndex].xoffset[attachIndex] = DART_Settings[DART_INDEX][textureIndex].xoffset[attachIndex] + amount;
240 texture:ClearAllPoints();
241 for i=1,4 do
242 if (DART_Settings[DART_INDEX][textureIndex].attachframe[i] and DART_Settings[DART_INDEX][textureIndex].attachframe[i] ~= "") then
243 texture:SetPoint(DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].attachpoint[i]], DART_Settings[DART_INDEX][textureIndex].attachframe[i], DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].attachto[i]], DART_Settings[DART_INDEX][textureIndex].xoffset[i], DART_Settings[DART_INDEX][textureIndex].yoffset[i]);
244 end
245 end
246 end
247  
248 function DART_MoveUp(textureIndex, attachIndex, amount)
249 if ((not textureIndex) or (not attachIndex) or (not amount)) then return; end
250 local texture = getglobal("DART_Texture_"..textureIndex);
251 if (not texture) then return; end
252 if ((not tonumber(attachIndex)) or (not tonumber(amount))) then return; end
253 if (attachIndex < 1 or attachIndex > 4) then return; end
254 DART_Settings[DART_INDEX][textureIndex].yoffset[attachIndex] = DART_Settings[DART_INDEX][textureIndex].yoffset[attachIndex] + amount;
255 texture:ClearAllPoints();
256 for i=1,4 do
257 if (DART_Settings[DART_INDEX][textureIndex].attachframe[i] and DART_Settings[DART_INDEX][textureIndex].attachframe[i] ~= "") then
258 texture:SetPoint(DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].attachpoint[i]], DART_Settings[DART_INDEX][textureIndex].attachframe[i], DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].attachto[i]], DART_Settings[DART_INDEX][textureIndex].xoffset[i], DART_Settings[DART_INDEX][textureIndex].yoffset[i]);
259 end
260 end
261 end
262  
263 function DART_Padding(textureIndex, padding)
264 if ((not textureIndex) or (not padding)) then return; end
265 if (not tonumber(padding)) then return; end
266 local textureFrame = "DART_Texture_"..textureIndex;
267 local texture = getglobal("DART_Texture_"..textureIndex.."_Texture");
268 if (not texture) then return; end
269 DART_Settings[DART_INDEX][textureIndex].padding = padding;
270 texture:ClearAllPoints();
271 texture:SetPoint("TOPLEFT", textureFrame, "TOPLEFT", padding, -padding);
272 texture:SetPoint("BOTTOMRIGHT", textureFrame, "BOTTOMRIGHT", -padding, padding);
273 local texture = getglobal("DART_Texture_"..textureIndex.."_Highlight");
274 texture:ClearAllPoints();
275 texture:SetPoint("TOPLEFT", textureFrame, "TOPLEFT", padding, -padding);
276 texture:SetPoint("BOTTOMRIGHT", textureFrame, "BOTTOMRIGHT", -padding, padding);
277 end
278  
279 function DART_Scale(textureIndex, scale)
280 if (not scale) then return; end
281 if (not tonumber(scale)) then return; end
282 if (scale < 0) then return; end
283 if (not textureIndex) then return; end
284 local texture = getglobal("DART_Texture_"..textureIndex);
285 if (not texture) then return; end
286 DART_Settings[DART_INDEX][textureIndex].scale = scale;
287 texture:SetScale(scale);
288 texture.scale = texture:GetScale();
289 end
290  
291 function DART_Show(textureIndex)
292 if (not textureIndex) then return; end
293 local texture = getglobal("DART_Texture_"..textureIndex);
294 if (not texture) then return; end
295 DART_Settings[DART_INDEX][textureIndex].hide = nil;
296 texture:Show();
297 end
298  
299 function DART_StartFlashing(textureIndex)
300 local texture = getglobal("DART_Texture_"..textureIndex);
301 if (not texture) then return; end
302 texture.flashing = true;
303 texture.direction = nil;
304 texture.flashtime = .5;
305 end
306  
307 function DART_StatusBar(textureIndex, percent, dimension, direction, basex1, basex2, basey1, basey2)
308 local x1, x2, y1, y2 = 0, 1, 0, 1;
309 if (basex1) then x1 = basex1; end
310 if (basex2) then x2 = basex2; end
311 if (basey1) then y1 = basey1; end
312 if (basey2) then y2 = basey2; end
313 if (percent > 1) then percent = 1; end
314 if (percent < 0) then percent = 0; end
315 if (direction == 1) then
316 x1 = x2 - percent * (x2 - x1);
317 elseif (direction == 2) then
318 y2 = y2 - (1 - percent) * (y2 - y1);
319 elseif (direction == 3) then
320 y1 = y2 - percent * (y2 - y1);
321 else
322 x2 = percent * (x2 - x1);
323 end
324 if (direction == 2 or direction == 3) then
325 DART_Height(textureIndex, dimension * percent);
326 else
327 DART_Width(textureIndex, dimension * percent);
328 end
329 DART_Texture(textureIndex, DART_Settings[DART_INDEX][textureIndex].texture, {x1, x2, y1, y2});
330 end
331  
332 function DART_StopFlashing(textureIndex)
333 local texture = getglobal("DART_Texture_"..textureIndex);
334 if (not texture) then return; end
335 texture.flashing = nil;
336 texture:SetAlpha(1);
337 end
338  
339 function DART_Text(textureIndex, text)
340 if (not textureIndex) then return; end
341 local textbox = getglobal("DART_Texture_"..textureIndex.."_Text");
342 if (not textbox) then return; end
343 if (not text) then text = ""; end
344 DART_Settings[DART_INDEX][textureIndex].text.text = text;
345 textbox:SetText(text);
346 end
347  
348 function DART_TextAlpha(textureIndex, a)
349 if ((not textureIndex) or (not a)) then return; end
350 local text = getglobal("DART_Texture_"..textureIndex.."_Text");
351 if (not text) then return; end
352 if (not tonumber(a)) then return; end
353 if (a < 0 or a > 1) then return; end
354 DART_Settings[DART_INDEX][textureIndex].text.alpha = a;
355 text:SetAlpha(a);
356 end
357  
358 function DART_TextColor(textureIndex, r, g, b, a)
359 if ((not textureIndex) or (not r) or (not g) or (not b)) then return; end
360 local text = getglobal("DART_Texture_"..textureIndex.."_Text");
361 if (not text) then return; end
362 if (not a) then
363 a = DART_Settings[DART_INDEX][textureIndex].text.alpha;
364 end
365 if ((not tonumber(r)) or (not tonumber(g)) or (not tonumber(b)) or (not tonumber(a))) then return; end
366 if (a < 0 or a > 1) then return; end
367 if (r < 0 or r > 1) then return; end
368 if (g < 0 or g > 1) then return; end
369 if (b < 0 or b > 1) then return; end
370 DART_Settings[DART_INDEX][textureIndex].text.color.r = r;
371 DART_Settings[DART_INDEX][textureIndex].text.color.g = g;
372 DART_Settings[DART_INDEX][textureIndex].text.color.b = b;
373 DART_Settings[DART_INDEX][textureIndex].text.alpha = a;
374 text:SetTextColor(r, g, b);
375 text:SetAlpha(a);
376 end
377  
378 function DART_TextFontSize(textureIndex, fontsize)
379 if ((not textureIndex) or (not fontsize)) then return; end
380 local text = getglobal("DART_Texture_"..textureIndex.."_Text");
381 if (not text) then return; end
382 if (not tonumber(fontsize)) then return; end
383 if (fontsize <= 0) then return; end
384 DART_Settings[DART_INDEX][textureIndex].text.fontsize = fontsize;
385 text:SetTextHeight(fontsize);
386 local texture = getglobal("DART_Texture_"..textureIndex);
387 local scale = texture:GetScale();
388 texture:SetScale(scale + .1);
389 texture:SetScale(scale);
390 end
391  
392 function DART_TextHeight(textureIndex, height)
393 if ((not textureIndex) or (not height)) then return; end
394 local text = getglobal("DART_Texture_"..textureIndex.."_Text");
395 if (not text) then return; end
396 if (not tonumber(height)) then return; end
397 if (height <= 0) then return; end
398 DART_Settings[DART_INDEX][textureIndex].text.height = height;
399 text:SetHeight(height);
400 end
401  
402 function DART_TextHide(textureIndex)
403 if (not textureIndex) then return; end
404 local text = getglobal("DART_Texture_"..textureIndex.."_Text");
405 if (not text) then return; end
406 DART_Settings[DART_INDEX][textureIndex].text.hide = true;
407 text:Hide();
408 end
409  
410 function DART_TextMoveDown(textureIndex, amount)
411 if ((not textureIndex) or (not amount)) then return; end
412 local texture = getglobal("DART_Texture_"..textureIndex);
413 if (not texture) then return; end
414 if (not tonumber(amount)) then return; end
415 DART_Settings[DART_INDEX][textureIndex].text.yoffset = DART_Settings[DART_INDEX][textureIndex].text.yoffset - amount;
416 local textbox = getglobal("DART_Texture_"..textureIndex.."_Text");
417 textbox:ClearAllPoints();
418 textbox:SetPoint(DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].text.attachpoint], texture:GetName(), DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].text.attachto], DART_Settings[DART_INDEX][textureIndex].text.xoffset, DART_Settings[DART_INDEX][textureIndex].text.yoffset);
419 end
420  
421 function DART_TextMoveLeft(textureIndex, amount)
422 if ((not textureIndex) or (not amount)) then return; end
423 local texture = getglobal("DART_Texture_"..textureIndex);
424 if (not texture) then return; end
425 if (not tonumber(amount)) then return; end
426 DART_Settings[DART_INDEX][textureIndex].text.xoffset = DART_Settings[DART_INDEX][textureIndex].text.xoffset - amount;
427 local textbox = getglobal("DART_Texture_"..textureIndex.."_Text");
428 textbox:ClearAllPoints();
429 textbox:SetPoint(DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].text.attachpoint], texture:GetName(), DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].text.attachto], DART_Settings[DART_INDEX][textureIndex].text.xoffset, DART_Settings[DART_INDEX][textureIndex].text.yoffset);
430 end
431  
432 function DART_TextMoveRight(textureIndex, amount)
433 if ((not textureIndex) or (not amount)) then return; end
434 local texture = getglobal("DART_Texture_"..textureIndex);
435 if (not texture) then return; end
436 if (not tonumber(amount)) then return; end
437 DART_Settings[DART_INDEX][textureIndex].text.xoffset = DART_Settings[DART_INDEX][textureIndex].text.xoffset + amount;
438 local textbox = getglobal("DART_Texture_"..textureIndex.."_Text");
439 textbox:ClearAllPoints();
440 textbox:SetPoint(DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].text.attachpoint], texture:GetName(), DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].text.attachto], DART_Settings[DART_INDEX][textureIndex].text.xoffset, DART_Settings[DART_INDEX][textureIndex].text.yoffset);
441 end
442  
443 function DART_TextMoveUp(textureIndex, amount)
444 if ((not textureIndex) or (not amount)) then return; end
445 local texture = getglobal("DART_Texture_"..textureIndex);
446 if (not texture) then return; end
447 if (not tonumber(amount)) then return; end
448 DART_Settings[DART_INDEX][textureIndex].text.yoffset = DART_Settings[DART_INDEX][textureIndex].text.yoffset + amount;
449 local textbox = getglobal("DART_Texture_"..textureIndex.."_Text");
450 textbox:ClearAllPoints();
451 textbox:SetPoint(DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].text.attachpoint], texture:GetName(), DART_ATTACH_POINTS[DART_Settings[DART_INDEX][textureIndex].text.attachto], DART_Settings[DART_INDEX][textureIndex].text.xoffset, DART_Settings[DART_INDEX][textureIndex].text.yoffset);
452 end
453  
454 function DART_TextShow(textureIndex)
455 if (not textureIndex) then return; end
456 local text = getglobal("DART_Texture_"..textureIndex.."_Text");
457 if (not text) then return; end
458 DART_Settings[DART_INDEX][textureIndex].text.hide = nil;
459 text:Show();
460 end
461  
462 function DART_TextWidth(textureIndex, width)
463 if ((not textureIndex) or (not width)) then return; end
464 local text = getglobal("DART_Texture_"..textureIndex.."_Text");
465 if (not text) then return; end
466 if (not tonumber(width)) then return; end
467 if (width <= 0) then return; end
468 DART_Settings[DART_INDEX][textureIndex].text.width = width;
469 text:SetWidth(width);
470 end
471  
472 function DART_Texture(textureIndex, file, coords)
473 if (not textureIndex) then return; end
474 if (not file) then return; end
475 local x1, x2, y1, y2, URX, URY, LRX, LRY;
476 if (coords) then
477 x1 = coords[1];
478 x2 = coords[2];
479 y1 = coords[3];
480 y2 = coords[4];
481 URX = coords[5];
482 URY = coords[6];
483 LRX = coords[7];
484 LRY = coords[8];
485 else
486 x1 = DART_Settings[DART_INDEX][textureIndex].coords[1];
487 x2 = DART_Settings[DART_INDEX][textureIndex].coords[2];
488 y1 = DART_Settings[DART_INDEX][textureIndex].coords[3];
489 y2 = DART_Settings[DART_INDEX][textureIndex].coords[4];
490 URX = DART_Settings[DART_INDEX][textureIndex].coords[5];
491 URY = DART_Settings[DART_INDEX][textureIndex].coords[6];
492 LRX = DART_Settings[DART_INDEX][textureIndex].coords[7];
493 LRY = DART_Settings[DART_INDEX][textureIndex].coords[8];
494 end
495 if ((not x1) or (not x2) or (not y1) or (not y2)) then return; end
496 local texture = getglobal("DART_Texture_"..textureIndex.."_Texture");
497 if (not texture) then return; end
498 DART_Settings[DART_INDEX][textureIndex].texture = file;
499 DART_Settings[DART_INDEX][textureIndex].coords = { x1, x2, y1, y2, URX, URY, LRX, LRY };
500 if (not texture:SetTexture(file)) and (not DART_Settings[DART_INDEX][textureIndex].hide) then
501 if (not DART_Settings[DART_INDEX][textureIndex].hide and file ~= "" and file ~= nil) then
502 DL_Error("You have entered an invalid filename for Texture "..textureIndex..". Make sure the file is in the right folder and you typed its name right.");
503 end
504 end
505 if ((not URX) or (not URY) or (not LRX) or (not LRY)) then
506 texture:SetTexCoord(x1, x2, y1, y2);
507 else
508 texture:SetTexCoord(x1, x2, y1, y2, URX, URY, LRX, LRY);
509 end
510 end
511  
512 function DART_Width(textureIndex, width)
513 if (not textureIndex) then return; end
514 if (not width) then return; end
515 if (not tonumber(width)) then return; end
516 if (width <= 0) then return; end
517 local texture = getglobal("DART_Texture_"..textureIndex);
518 if (not texture) then return; end
519 DART_Settings[DART_INDEX][textureIndex].width = width;
520 texture:SetWidth(width);
521 end