Mercurial > wow > afterdark
diff Toast.lua @ 1:f601b8507480
AfterDark - Initial Import
author | wobin |
---|---|
date | Sun, 20 Dec 2009 21:45:17 +1100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Toast.lua Sun Dec 20 21:45:17 2009 +1100 @@ -0,0 +1,42 @@ +local AddonName, AfterDark = ... + +local TOAST = "Interface\\AddOns\\AfterDark\\Images\\Toast" +local JAM = "Interface\\AddOns\\AfterDark\\Images\\ToastTopping" + +function AfterDark:SliceBread(frame) + frame.toast = frame:CreateTexture(nil, "BACKGROUND") + frame.toast:SetAllPoints(frame) + frame.toast:SetTexture(TOAST) + + frame.shade = frame:CreateTexture(nil, "BACKGROUND") + frame.shade:SetAllPoints(frame) + frame.shade:SetTexture(JAM) + frame.shade:SetBlendMode("ADD") + frame.shade:SetAlpha(1 - AfterDark.db.profile.Darkness) + frame.tumbler = frame:CreateAnimationGroup() + frame.tumbler.parent = frame + frame.tumbler:SetLooping("NONE") + + frame.spin = frame.tumbler:CreateAnimation("Rotation") + frame.spin:SetDegrees(math.random(1,2) == 1 and 360 or -360) + frame.spin:SetOrigin("CENTER", 0,0) + frame.spin:SetStartDelay(math.random(3, AfterDark.db.profile.Speed)) + frame.spin:SetDuration(3) + + frame.IsToast = true + + frame.Respeed = function(self) + frame.spin:SetStartDelay(math.random(3,AfterDark.db.profile.Speed)) + end + + frame.Start = function(self) + self.mover:Play() + self.tumbler:Play() + self:Show() + end + + frame.Finish = function(self) + self:StopAnimating() + self:Hide() + end +end