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.
85 lines
3.1 KiB
85 lines
3.1 KiB
local SLE, T, E, L, V, P, G = unpack(select(2, ...))
|
|
local SUF = SLE.UnitFrames
|
|
local UF = E.UnitFrames
|
|
|
|
function SUF:Configure_ClassBar(frame)
|
|
local db = E.db.sle.shadows
|
|
local bars = frame[frame.ClassBar]
|
|
if not bars then return end
|
|
|
|
local r, g, b = db.shadowcolor.r, db.shadowcolor.g, db.shadowcolor.b
|
|
local offset = (E.PixelMode and db.unitframes.size) or (db.unitframes.size + 1)
|
|
|
|
if frame.SLCLASSBAR_ENHSHADOW then
|
|
if not bars.backdrop.enhshadow then
|
|
bars.backdrop.enhshadow = bars.backdrop:CreateShadow(4, true)
|
|
end
|
|
|
|
bars.backdrop.enhshadow:SetFrameLevel(bars.backdrop:GetFrameLevel())
|
|
bars.backdrop.enhshadow:SetFrameStrata(bars.backdrop:GetFrameStrata())
|
|
|
|
bars.backdrop.enhshadow:SetOutside(bars.backdrop.enhshadow:GetParent(), offset, offset, nil, true)
|
|
bars.backdrop.enhshadow:SetBackdrop({
|
|
edgeFile = E.LSM:Fetch('border', 'ElvUI GlowBorder'), edgeSize = db.unitframes.size > 3 and db.unitframes.size or 3,
|
|
-- insets = {left = E:Scale(5), right = E:Scale(5), top = E:Scale(5), bottom = E:Scale(5)}, --! Don't see a need for this
|
|
})
|
|
bars.backdrop.enhshadow:SetBackdropColor(r, g, b, 0)
|
|
bars.backdrop.enhshadow:SetBackdropBorderColor(r, g, b, 0.9)
|
|
bars.backdrop.enhshadow:Hide()
|
|
else
|
|
if bars.backdrop.enhshadow then
|
|
bars.backdrop.enhshadow:Kill()
|
|
bars.backdrop.enhshadow = nil
|
|
end
|
|
end
|
|
|
|
if bars.backdrop.enhshadow then
|
|
if frame.USE_MINI_CLASSBAR and not frame.CLASSBAR_DETACHED then
|
|
if frame.db.classbar.fill == 'spaced' then
|
|
bars.backdrop.enhshadow:Show()
|
|
else
|
|
bars.backdrop.enhshadow:Hide()
|
|
end
|
|
elseif not frame.CLASSBAR_DETACHED then
|
|
bars.backdrop.enhshadow:Hide()
|
|
else
|
|
bars.backdrop.enhshadow:Show()
|
|
end
|
|
end
|
|
|
|
if frame.ClassBar == 'ClassPower' or frame.ClassBar == 'Runes' then
|
|
local maxBars = max(UF['classMaxResourceBar'][E.myclass] or 0, _G.MAX_COMBO_POINTS)
|
|
for i = 1, maxBars do
|
|
if frame.SLCLASSBAR_ENHSHADOW and frame.USE_MINI_CLASSBAR then
|
|
if not bars[i].backdrop.enhshadow then
|
|
bars[i].backdrop.enhshadow = bars[i].backdrop:CreateShadow(4, true)
|
|
end
|
|
|
|
bars[i].backdrop.enhshadow:SetFrameLevel(bars[i].backdrop:GetFrameLevel())
|
|
if frame.SLLEGACY_ENHSHADOW then
|
|
bars[i].backdrop.enhshadow:SetFrameStrata('BACKGROUND')
|
|
else
|
|
bars[i].backdrop.enhshadow:SetFrameStrata(bars[i].backdrop:GetFrameStrata())
|
|
end
|
|
|
|
bars[i].backdrop.enhshadow:SetOutside(bars[i].backdrop.enhshadow:GetParent(), offset, offset, nil, true)
|
|
bars[i].backdrop.enhshadow:SetBackdrop({
|
|
edgeFile = E.LSM:Fetch('border', 'ElvUI GlowBorder'), edgeSize = db.unitframes.size > 3 and db.unitframes.size or 3,
|
|
-- insets = {left = E:Scale(5), right = E:Scale(5), top = E:Scale(5), bottom = E:Scale(5)}, --! Don't see a need for this
|
|
})
|
|
bars[i].backdrop.enhshadow:SetBackdropColor(r, g, b, 0)
|
|
bars[i].backdrop.enhshadow:SetBackdropBorderColor(r, g, b, 0.9)
|
|
bars[i].backdrop.enhshadow:Hide()
|
|
|
|
if frame.USE_MINI_CLASSBAR then
|
|
bars[i].backdrop.enhshadow:Show()
|
|
end
|
|
else
|
|
if bars[i].backdrop.enhshadow then
|
|
bars[i].backdrop.enhshadow:Kill()
|
|
bars[i].backdrop.enhshadow = nil
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|