You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
1.8 KiB
84 lines
1.8 KiB
local E, L, V, P, G = unpack(ElvUI)
|
|
local S = E:GetModule('Skins')
|
|
|
|
local _G = _G
|
|
local hooksecurefunc = hooksecurefunc
|
|
|
|
local function SetBackdropAlpha()
|
|
local frame = _G.BattlefieldMapFrame
|
|
if frame and frame.backdrop then
|
|
local options = _G.BattlefieldMapOptions
|
|
local opacity = 1 - (options and options.opacity or 1)
|
|
frame.backdrop:SetBackdropColor(0, 0, 0, opacity)
|
|
end
|
|
end
|
|
|
|
local function GetCloseButton(frame)
|
|
if not frame then
|
|
frame = _G.BattlefieldMapFrame
|
|
end
|
|
|
|
local border = frame and frame.BorderFrame
|
|
return border and border.CloseButton
|
|
end
|
|
|
|
local function OnLeave()
|
|
local close = GetCloseButton()
|
|
if close then
|
|
close:SetAlpha(0.1)
|
|
end
|
|
end
|
|
|
|
local function OnEnter()
|
|
local close = GetCloseButton()
|
|
if close then
|
|
close:SetAlpha(1)
|
|
end
|
|
end
|
|
|
|
function S:Blizzard_BattlefieldMap()
|
|
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.bgmap) then return end
|
|
|
|
local frame = _G.BattlefieldMapFrame
|
|
frame:StripTextures()
|
|
frame:CreateBackdrop()
|
|
frame:SetFrameStrata('LOW')
|
|
frame:HookScript('OnShow', SetBackdropAlpha)
|
|
hooksecurefunc(frame, 'SetGlobalAlpha', SetBackdropAlpha)
|
|
|
|
local scroll = frame.ScrollContainer
|
|
if scroll then
|
|
if frame.backdrop then
|
|
frame.backdrop:SetOutside(scroll)
|
|
end
|
|
|
|
scroll:HookScript('OnLeave', OnLeave)
|
|
scroll:HookScript('OnEnter', OnEnter)
|
|
end
|
|
|
|
local tab = _G.BattlefieldMapTab
|
|
if tab then
|
|
tab:SetHeight(24)
|
|
tab:StripTextures()
|
|
tab:CreateBackdrop()
|
|
|
|
if tab.Text then
|
|
tab.Text:SetInside(tab)
|
|
end
|
|
end
|
|
|
|
local close = GetCloseButton(frame)
|
|
if close then
|
|
S:HandleCloseButton(close)
|
|
|
|
close:SetAlpha(0.25)
|
|
close:SetIgnoreParentAlpha(1)
|
|
close:OffsetFrameLevel(1)
|
|
close:ClearAllPoints()
|
|
close:Point('TOPRIGHT', 3, 5)
|
|
close:HookScript('OnLeave', OnLeave)
|
|
close:HookScript('OnEnter', OnEnter)
|
|
end
|
|
end
|
|
|
|
S:AddCallbackForAddon('Blizzard_BattlefieldMap')
|
|
|