comparison Libs/DF/fw.lua @ 26:e16b1fc13935

- framework update.
author Tercio
date Fri, 16 Oct 2015 14:46:27 -0300
parents 6bb668a41455
children 7523376ecaa3
comparison
equal deleted inserted replaced
25:6bb668a41455 26:e16b1fc13935
1 1
2 local dversion = 10 2 local dversion = 12
3 local major, minor = "DetailsFramework-1.0", dversion 3 local major, minor = "DetailsFramework-1.0", dversion
4 local DF, oldminor = LibStub:NewLibrary (major, minor) 4 local DF, oldminor = LibStub:NewLibrary (major, minor)
5 5
6 if (not DF) then 6 if (not DF) then
7 DetailsFrameworkCanLoad = false 7 DetailsFrameworkCanLoad = false
101 101
102 function DF:GetFrameworkFolder() 102 function DF:GetFrameworkFolder()
103 return DF.folder 103 return DF.folder
104 end 104 end
105 105
106 function DF:FadeFrame (frame, t)
107 if (t == 0) then
108 frame.hidden = false
109 frame.faded = false
110 frame.fading_out = false
111 frame.fading_in = false
112 frame:Show()
113 frame:SetAlpha (1)
114
115 elseif (t == 1) then
116 frame.hidden = true
117 frame.faded = true
118 frame.fading_out = false
119 frame.fading_in = false
120 frame:SetAlpha (0)
121 frame:Hide()
122 end
123 end
124
106 function DF.table.reverse (t) 125 function DF.table.reverse (t)
107 local new = {} 126 local new = {}
108 local index = 1 127 local index = 1
109 for i = #t, 1, -1 do 128 for i = #t, 1, -1 do
110 new [index] = t[i] 129 new [index] = t[i]
315 334
316 frame.Flash = flash 335 frame.Flash = flash
317 frame.Stop = stop 336 frame.Stop = stop
318 end 337 end
319 338
320 -----------------------------------------
321
322 local fade_IN_finished_func = function (frame)
323 if (frame.fading_in) then
324 frame.hidden = true
325 frame.faded = true
326 frame.fading_in = false
327 frame:Hide()
328 end
329 end
330
331 local fade_OUT_finished_func = function (frame)
332 if (frame:IsShown() and frame.fading_out) then
333 frame.hidden = false
334 frame.faded = false
335 frame.fading_out = false
336 else
337 frame:SetAlpha(0)
338 end
339 end
340
341 local just_fade_func = function (frame)
342 frame.hidden = false
343 frame.faded = true
344 frame.fading_in = false
345 end
346
347 local anim_OUT_alpha_func = function (frame)
348 frame.fading_out = false
349 end
350
351 local anim_IN_alpha_func = function (frame)
352 frame.fading_in = false
353 end
354
355 function DF:Fade (frame, tipo, velocidade, parametros)
356
357 if (_type (frame) == "table") then
358 if (frame.dframework) then
359 frame = frame.widget
360 end
361 end
362
363 velocidade = velocidade or 0.3
364
365 if (upper (tipo) == "IN") then
366
367 if (frame:GetAlpha() == 0 and frame.hidden and not frame.fading_out) then --> ja esta escondida
368 return
369 elseif (frame.fading_in) then --> ja esta com uma animação, se for true
370 return
371 end
372
373 if (frame.fading_out) then --> se tiver uma animação de aparecer em andamento se for true
374 frame.fading_out = false
375 end
376
377 UIFrameFadeIn (frame, velocidade, frame:GetAlpha(), 0)
378 frame.fading_in = true
379
380 frame.fadeInfo.finishedFunc = fade_IN_finished_func
381 frame.fadeInfo.finishedArg1 = frame
382
383 elseif (upper (tipo) == "OUT") then --> aparecer
384 if (frame:GetAlpha() == 1 and not frame.hidden and not frame.fading_in) then --> ja esta na tela
385 return
386 elseif (frame.fading_out) then --> já ta com fading out
387 return
388 end
389
390 if (frame.fading_in) then --> se tiver uma animação de hidar em andamento se for true
391 frame.fading_in = false
392 end
393
394 frame:Show()
395 UIFrameFadeOut (frame, velocidade, frame:GetAlpha(), 1.0)
396 frame.fading_out = true
397
398 frame.fadeInfo.finishedFunc = fade_OUT_finished_func
399 frame.fadeInfo.finishedArg1 = frame
400
401 elseif (tipo == 0) then --> força o frame a ser mostrado
402 frame.hidden = false
403 frame.faded = false
404 frame.fading_out = false
405 frame.fading_in = false
406 frame:Show()
407 frame:SetAlpha (1)
408
409 elseif (tipo == 1) then --> força o frame a ser hidado
410 frame.hidden = true
411 frame.faded = true
412 frame.fading_out = false
413 frame.fading_in = false
414 frame:SetAlpha (0)
415 frame:Hide()
416
417 elseif (tipo == -1) then --> apenas da fade sem hidar
418 if (frame:GetAlpha() == 0 and frame.hidden and not frame.fading_out) then --> ja esta escondida
419 return
420 elseif (frame.fading_in) then --> ja esta com uma animação, se for true
421 return
422 end
423
424 if (frame.fading_out) then --> se tiver uma animação de aparecer em andamento se for true
425 frame.fading_out = false
426 end
427
428 UIFrameFadeIn (frame, velocidade, frame:GetAlpha(), 0)
429 frame.fading_in = true
430 frame.fadeInfo.finishedFunc = just_fade_func
431 frame.fadeInfo.finishedArg1 = frame
432
433 elseif (upper (tipo) == "ALPHAANIM") then
434
435 local value = velocidade
436 local currentApha = frame:GetAlpha()
437 frame:Show()
438
439 if (currentApha < value) then
440 if (frame.fading_in) then --> se tiver uma animação de hidar em andamento se for true
441 frame.fading_in = false
442 frame.fadeInfo.finishedFunc = nil
443 end
444 UIFrameFadeOut (frame, 0.3, currentApha, value)
445 frame.fading_out = true
446
447 frame.fadeInfo.finishedFunc = anim_OUT_alpha_func
448 frame.fadeInfo.finishedArg1 = frame
449
450 else
451 if (frame.fading_out) then --> se tiver uma animação de hidar em andamento se for true
452 frame.fading_out = false
453 frame.fadeInfo.finishedFunc = nil
454 end
455 UIFrameFadeIn (frame, 0.3, currentApha, value)
456 frame.fading_in = true
457
458 frame.fadeInfo.finishedFunc = anim_IN_alpha_func
459 frame.fadeInfo.finishedArg1 = frame
460 end
461
462 elseif (upper (tipo) == "ALPHA") then --> setando um alpha determinado
463 if (frame.fading_in or frame.fading_out) then
464 frame.fadeInfo.finishedFunc = nil
465 UIFrameFadeIn (frame, velocidade, frame:GetAlpha(), frame:GetAlpha())
466 end
467 frame.hidden = false
468 frame.faded = false
469 frame.fading_in = false
470 frame.fading_out = false
471 frame:Show()
472 frame:SetAlpha (velocidade)
473 end
474 end
475
476 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 339 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
477 --> points 340 --> points
478 341
479 function DF:CheckPoints (v1, v2, v3, v4, v5, object) 342 function DF:CheckPoints (v1, v2, v3, v4, v5, object)
480 343