vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
simpleMinimap_Skins = simpleMinimap:NewModule("skins")
local L = AceLibrary("AceLocale-2.1"):GetInstance("simpleMinimap_Skins", true)

function simpleMinimap_Skins:OnInitialize()
        self.db = simpleMinimap:AcquireDBNamespace("skins")
        self.skins = {
                {       
                        shape="circle",
                        texture="Interface\\Minimap\\UI-Minimap-Border",
                        mask="textures\\MinimapMask"
                },{
                        shape="circle",
                        texture=nil,
                        mask="textures\\MinimapMask"
                },{
                        shape="square",
                        texture="Interface\\AddOns\\simpleMinimap_Skins\\skins\\SquareMinimap",
                        mask="Interface\\AddOns\\simpleMinimap_Skins\\skins\\SquareMinimapMask"
                },{
                        shape="square",
                        texture=nil,
                        mask="Interface\\AddOns\\simpleMinimap_Skins\\skins\\SquareMinimapMask"
                },{
                        shape="square",
                        texture="Interface\\AddOns\\simpleMinimap_Skins\\skins\\dLxTopRight",
                        mask="Interface\\AddOns\\simpleMinimap_Skins\\skins\\dLxTopRightMask"
                },{
                        shape="square",
                        texture=nil,
                        mask="Interface\\AddOns\\simpleMinimap_Skins\\skins\\dLxTopRightMask"
                }
        }
        self.defaults = { enabled=true, skin=1 }
        self.options = {
                type="group", name=L.skins, desc=L.skins_desc,
                args={
                        title={
                                type="header", order=1, name="simpleMinimap |cFFFFFFCC"..L.skins
                        },
                        spacer1={
                                type="header", order=2
                        },
                        enabled={
                                type="toggle", order=3, name=L.enabled, desc=L.enabled_desc,
                                get=function() return(self.db.profile.enabled) end,
                                set=function(x) self.db.profile.enabled=x simpleMinimap:ToggleModuleActive(self, x) end
                        },
                        spacer2={
                                type="header", order=4, name="---"
                        },
                        skin={
                                type="group", order=10, name=L.skin, desc=L.skin_desc,
                                args={
                                        ["1"]={
                                                type="toggle", order=1, name="1 :: "..L.skin1, desc=L.skin1,
                                                get=function() return(self.db.profile.skin==1) end,
                                                set=function() self.db.profile.skin = 1 self:OnEnable() end
                                        },
                                        ["2"]={
                                                type="toggle", order=2, name="2 :: "..L.skin2, desc=L.skin2,
                                                get=function() return(self.db.profile.skin==2) end,
                                                set=function() self.db.profile.skin = 2 self:OnEnable() end
                                        },
                                        ["3"]={
                                                type="toggle", order = 3, name = "3 :: "..L.skin3, desc = L.skin3,
                                                get = function() return(self.db.profile.skin==3) end,
                                                set = function() self.db.profile.skin = 3 self:OnEnable() end
                                        },
                                        ["4"]={
                                                type="toggle", order=4, name="4 :: "..L.skin4, desc=L.skin4,
                                                get=function() return(self.db.profile.skin==4) end,
                                                set=function() self.db.profile.skin = 4 self:OnEnable() end
                                        },
                                        ["5"]={
                                                type="toggle", order=5, name="5 :: "..L.skin5, desc=L.skin5,
                                                get=function() return(self.db.profile.skin==5) end,
                                                set=function() self.db.profile.skin=5 self:OnEnable() end
                                        },
                                        ["6"]={
                                                type="toggle", order=6, name="6 :: "..L.skin6, desc=L.skin6,
                                                get=function() return(self.db.profile.skin==6) end,
                                                set=function() self.db.profile.skin=6 self:OnEnable() end
                                        }
                                }
                        }
                }
        }
        simpleMinimap.options.args.modules.args.skins = self.options
        simpleMinimap:RegisterDefaults("skins", "profile", self.defaults)
end
--
function simpleMinimap_Skins:OnEnable()
        if(self.db.profile.enabled) then
                simpleMinimap:UpdateScreen()
        else
                simpleMinimap:ToggleModuleActive(self, false)
        end
end
--
function simpleMinimap_Skins:OnDisable()
        simpleMinimap:UpdateScreen()
end
--
function simpleMinimap_Skins:GetButtonPos(vector)
        local x, y
        if(simpleMinimap:IsModuleActive(self) and self:GetShape() == "square") then
                x = math.max(-81, math.min(110 * cos(vector), 81))
                y = math.max(-81, math.min(110 * sin(vector), 81))
        else
                x = 81 * cos(vector)
                y = 81 * sin(vector)
        end
        return 52 - x, y - 54
end
--
function simpleMinimap_Skins:UpdateScreen()
        if(simpleMinimap:IsModuleActive(self)) then
                MinimapBorder:SetTexture(self.skins[self.db.profile.skin]["texture"])
                Minimap:SetMaskTexture(self.skins[self.db.profile.skin]["mask"])
        else
                MinimapBorder:SetTexture("Interface\\Minimap\\UI-Minimap-Border")
                Minimap:SetMaskTexture("textures\\MinimapMask")
        end     
end
--
function simpleMinimap_Skins:GetShape()
        if(simpleMinimap:IsModuleActive(self)) then return(self.skins[self.db.profile.skin].shape) end
end

Generated by GNU Enscript 1.6.5.90.