view Toast.lua @ 13:3a5816741bcb tip

Added tag v1.0Release for changeset 2761550de087
author wobin
date Sun, 20 Dec 2009 22:29:05 +1100
parents f601b8507480
children
line wrap: on
line source
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