424 lines
14 KiB
Lua
424 lines
14 KiB
Lua
|
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||
|
local LO = E:GetModule('Layout')
|
||
|
local DT = E:GetModule('DataTexts')
|
||
|
local CH = E:GetModule('Chat')
|
||
|
|
||
|
local _G = _G
|
||
|
local CreateFrame = CreateFrame
|
||
|
local FCF_SavePositionAndDimensions = FCF_SavePositionAndDimensions
|
||
|
-- GLOBALS: HideLeftChat, HideRightChat, HideBothChat
|
||
|
|
||
|
local BAR_HEIGHT = 22
|
||
|
local TOGGLE_WIDTH = 18
|
||
|
|
||
|
local function Panel_OnShow(self)
|
||
|
self:SetFrameLevel(200)
|
||
|
self:SetFrameStrata('BACKGROUND')
|
||
|
end
|
||
|
|
||
|
function LO:Initialize()
|
||
|
LO.Initialized = true
|
||
|
LO:CreateChatPanels()
|
||
|
LO:CreateMinimapPanels()
|
||
|
LO:SetDataPanelStyle()
|
||
|
|
||
|
LO.BottomPanel = CreateFrame('Frame', 'ElvUI_BottomPanel', E.UIParent, 'BackdropTemplate')
|
||
|
LO.BottomPanel:SetTemplate('Transparent')
|
||
|
LO.BottomPanel:Point('BOTTOMLEFT', E.UIParent, 'BOTTOMLEFT', -1, -1)
|
||
|
LO.BottomPanel:Point('BOTTOMRIGHT', E.UIParent, 'BOTTOMRIGHT', 1, -1)
|
||
|
LO.BottomPanel:Height(BAR_HEIGHT)
|
||
|
LO.BottomPanel:SetScript('OnShow', Panel_OnShow)
|
||
|
E.FrameLocks.ElvUI_BottomPanel = true
|
||
|
Panel_OnShow(LO.BottomPanel)
|
||
|
LO:BottomPanelVisibility()
|
||
|
|
||
|
LO.TopPanel = CreateFrame('Frame', 'ElvUI_TopPanel', E.UIParent, 'BackdropTemplate')
|
||
|
LO.TopPanel:SetTemplate('Transparent')
|
||
|
LO.TopPanel:Point('TOPLEFT', E.UIParent, 'TOPLEFT', -1, 1)
|
||
|
LO.TopPanel:Point('TOPRIGHT', E.UIParent, 'TOPRIGHT', 1, 1)
|
||
|
LO.TopPanel:Height(BAR_HEIGHT)
|
||
|
LO.TopPanel:SetScript('OnShow', Panel_OnShow)
|
||
|
Panel_OnShow(LO.TopPanel)
|
||
|
E.FrameLocks.ElvUI_TopPanel = true
|
||
|
LO:TopPanelVisibility()
|
||
|
end
|
||
|
|
||
|
function LO:BottomPanelVisibility()
|
||
|
LO.BottomPanel:SetShown(E.db.general.bottomPanel)
|
||
|
end
|
||
|
|
||
|
function LO:TopPanelVisibility()
|
||
|
LO.TopPanel:SetShown(E.db.general.topPanel)
|
||
|
end
|
||
|
|
||
|
local function finishFade(self)
|
||
|
if self:GetAlpha() == 0 then
|
||
|
self:Hide()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function fadeChatPanel(self, duration, alpha)
|
||
|
if alpha == 1 then
|
||
|
self.parent:Show()
|
||
|
end
|
||
|
|
||
|
E:UIFrameFadeOut(self.parent, duration, self.parent:GetAlpha(), alpha)
|
||
|
|
||
|
if E.db.chat.fadeChatToggles then
|
||
|
E:UIFrameFadeOut(self, duration, self:GetAlpha(), alpha)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function ChatButton_OnEnter(self)
|
||
|
if E.db[self.parent:GetName()..'Faded'] then
|
||
|
fadeChatPanel(self, 0.3, 1)
|
||
|
end
|
||
|
|
||
|
if not _G.GameTooltip:IsForbidden() then
|
||
|
_G.GameTooltip:SetOwner(self, 'ANCHOR_TOPLEFT', 0, 4)
|
||
|
_G.GameTooltip:ClearLines()
|
||
|
_G.GameTooltip:AddDoubleLine(L["Left Click:"], L["Toggle Chat Frame"], 1, 1, 1)
|
||
|
_G.GameTooltip:Show()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function ChatButton_OnLeave(self)
|
||
|
if E.db[self.parent:GetName()..'Faded'] then
|
||
|
fadeChatPanel(self, 0.3, 0)
|
||
|
end
|
||
|
|
||
|
if not _G.GameTooltip:IsForbidden() then
|
||
|
_G.GameTooltip:Hide()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function ChatButton_OnClick(self)
|
||
|
local name = self.parent:GetName()..'Faded'
|
||
|
if E.db[name] then
|
||
|
E.db[name] = nil
|
||
|
fadeChatPanel(self, 0.2, 1)
|
||
|
else
|
||
|
E.db[name] = true
|
||
|
fadeChatPanel(self, 0.2, 0)
|
||
|
end
|
||
|
|
||
|
if not _G.GameTooltip:IsForbidden() then
|
||
|
_G.GameTooltip:Hide()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- these are used by the bindings and options
|
||
|
function HideLeftChat()
|
||
|
ChatButton_OnClick(_G.LeftChatToggleButton)
|
||
|
end
|
||
|
|
||
|
function HideRightChat()
|
||
|
ChatButton_OnClick(_G.RightChatToggleButton)
|
||
|
end
|
||
|
|
||
|
function HideBothChat()
|
||
|
ChatButton_OnClick(_G.LeftChatToggleButton)
|
||
|
ChatButton_OnClick(_G.RightChatToggleButton)
|
||
|
end
|
||
|
|
||
|
function LO:ToggleChatTabPanels(rightOverride, leftOverride)
|
||
|
if leftOverride or not E.db.chat.panelTabBackdrop then
|
||
|
_G.LeftChatTab:Hide()
|
||
|
else
|
||
|
_G.LeftChatTab:Show()
|
||
|
end
|
||
|
|
||
|
if rightOverride or not E.db.chat.panelTabBackdrop then
|
||
|
_G.RightChatTab:Hide()
|
||
|
else
|
||
|
_G.RightChatTab:Show()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
do
|
||
|
local function DataPanelStyle(panel, db)
|
||
|
panel.forcedBorderColors = (db.border == false and {0,0,0,0}) or nil
|
||
|
panel:SetTemplate(db.backdrop and (db.panelTransparency and 'Transparent' or 'Default') or 'NoBackdrop', true)
|
||
|
|
||
|
if db.border ~= nil then
|
||
|
if panel.iborder then panel.iborder:SetShown(db.border) end
|
||
|
if panel.oborder then panel.oborder:SetShown(db.border) end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function LO:SetDataPanelStyle()
|
||
|
DataPanelStyle(_G.LeftChatToggleButton, E.db.datatexts.panels.LeftChatDataPanel)
|
||
|
DataPanelStyle(_G.RightChatToggleButton, E.db.datatexts.panels.RightChatDataPanel)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local barHeight = BAR_HEIGHT + 1
|
||
|
local toggleWidth = TOGGLE_WIDTH + 1
|
||
|
function LO:RefreshChatMovers()
|
||
|
local LeftChatPanel = _G.LeftChatPanel
|
||
|
local RightChatPanel = _G.RightChatPanel
|
||
|
local LeftChatMover = _G.LeftChatMover
|
||
|
local RightChatMover = _G.RightChatMover
|
||
|
|
||
|
local Left = LeftChatPanel:GetPoint()
|
||
|
local Right = RightChatPanel:GetPoint()
|
||
|
local showRightPanel = E.db.datatexts.panels.RightChatDataPanel.enable
|
||
|
local showLeftPanel = E.db.datatexts.panels.LeftChatDataPanel.enable
|
||
|
if not showLeftPanel or E.db.chat.LeftChatDataPanelAnchor == 'ABOVE_CHAT' then
|
||
|
LeftChatPanel:Point(Left, LeftChatMover, 0, 0)
|
||
|
elseif showLeftPanel then
|
||
|
LeftChatPanel:Point(Left, LeftChatMover, 0, barHeight)
|
||
|
end
|
||
|
if not showRightPanel or E.db.chat.RightChatDataPanelAnchor == 'ABOVE_CHAT' then
|
||
|
RightChatPanel:Point(Right, RightChatMover, 0, 0)
|
||
|
elseif showRightPanel then
|
||
|
RightChatPanel:Point(Right, RightChatMover, 0, barHeight)
|
||
|
end
|
||
|
|
||
|
-- mover sizes: same as in CH.PositionChats for panels but including the datatext bar height
|
||
|
LeftChatMover:Size(E.db.chat.panelWidth, E.db.chat.panelHeight + (showLeftPanel and barHeight or 0))
|
||
|
if E.db.chat.separateSizes then
|
||
|
RightChatMover:Size(E.db.chat.panelWidthRight, E.db.chat.panelHeightRight + (showRightPanel and barHeight or 0))
|
||
|
else
|
||
|
RightChatMover:Size(E.db.chat.panelWidth, E.db.chat.panelHeight + (showRightPanel and barHeight or 0))
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function LO:RepositionChatDataPanels()
|
||
|
local LeftChatTab = _G.LeftChatTab
|
||
|
local RightChatTab = _G.RightChatTab
|
||
|
local LeftChatPanel = _G.LeftChatPanel
|
||
|
local RightChatPanel = _G.RightChatPanel
|
||
|
local LeftChatDataPanel = _G.LeftChatDataPanel
|
||
|
local RightChatDataPanel = _G.RightChatDataPanel
|
||
|
local LeftChatToggleButton = _G.LeftChatToggleButton
|
||
|
local RightChatToggleButton = _G.RightChatToggleButton
|
||
|
|
||
|
if E.private.chat.enable then
|
||
|
LeftChatTab:ClearAllPoints()
|
||
|
RightChatTab:ClearAllPoints()
|
||
|
LeftChatTab:Point('TOPLEFT', LeftChatPanel, 'TOPLEFT', 2, -2)
|
||
|
LeftChatTab:Point('BOTTOMRIGHT', LeftChatPanel, 'TOPRIGHT', -2, -BAR_HEIGHT-2)
|
||
|
RightChatTab:Point('TOPRIGHT', RightChatPanel, 'TOPRIGHT', -2, -2)
|
||
|
RightChatTab:Point('BOTTOMLEFT', RightChatPanel, 'TOPLEFT', 2, -BAR_HEIGHT-2)
|
||
|
end
|
||
|
|
||
|
LeftChatDataPanel:ClearAllPoints()
|
||
|
RightChatDataPanel:ClearAllPoints()
|
||
|
|
||
|
local SPACING = E.PixelMode and 1 or -1
|
||
|
local sideButton = E.db.chat.hideChatToggles and 0 or toggleWidth
|
||
|
if E.db.chat.LeftChatDataPanelAnchor == 'ABOVE_CHAT' then
|
||
|
LeftChatDataPanel:Point('BOTTOMRIGHT', LeftChatPanel, 'TOPRIGHT', 0, -SPACING)
|
||
|
LeftChatDataPanel:Point('TOPLEFT', LeftChatPanel, 'TOPLEFT', sideButton, barHeight)
|
||
|
LeftChatToggleButton:Point('BOTTOMRIGHT', LeftChatDataPanel, 'BOTTOMLEFT', SPACING, 0)
|
||
|
LeftChatToggleButton:Point('TOPLEFT', LeftChatDataPanel, 'TOPLEFT', -toggleWidth, 0)
|
||
|
else
|
||
|
LeftChatDataPanel:Point('TOPRIGHT', LeftChatPanel, 'BOTTOMRIGHT', 0, SPACING)
|
||
|
LeftChatDataPanel:Point('BOTTOMLEFT', LeftChatPanel, 'BOTTOMLEFT', sideButton, -barHeight)
|
||
|
LeftChatToggleButton:Point('TOPRIGHT', LeftChatDataPanel, 'TOPLEFT', SPACING, 0)
|
||
|
LeftChatToggleButton:Point('BOTTOMLEFT', LeftChatDataPanel, 'BOTTOMLEFT', -toggleWidth, 0)
|
||
|
end
|
||
|
|
||
|
if E.db.chat.RightChatDataPanelAnchor == 'ABOVE_CHAT' then
|
||
|
RightChatDataPanel:Point('BOTTOMLEFT', RightChatPanel, 'TOPLEFT', 0, -SPACING)
|
||
|
RightChatDataPanel:Point('TOPRIGHT', RightChatPanel, 'TOPRIGHT', -sideButton, barHeight)
|
||
|
RightChatToggleButton:Point('BOTTOMLEFT', RightChatDataPanel, 'BOTTOMRIGHT', -SPACING, 0)
|
||
|
RightChatToggleButton:Point('TOPRIGHT', RightChatDataPanel, 'TOPRIGHT', toggleWidth, 0)
|
||
|
else
|
||
|
RightChatDataPanel:Point('TOPLEFT', RightChatPanel, 'BOTTOMLEFT', 0, SPACING)
|
||
|
RightChatDataPanel:Point('BOTTOMRIGHT', RightChatPanel, 'BOTTOMRIGHT', -sideButton, -barHeight)
|
||
|
RightChatToggleButton:Point('TOPLEFT', RightChatDataPanel, 'TOPRIGHT', -SPACING, 0)
|
||
|
RightChatToggleButton:Point('BOTTOMRIGHT', RightChatDataPanel, 'BOTTOMRIGHT', toggleWidth, 0)
|
||
|
end
|
||
|
|
||
|
LO:RefreshChatMovers()
|
||
|
end
|
||
|
|
||
|
function LO:SetChatTabStyle()
|
||
|
local tabStyle = (E.db.chat.panelTabTransparency and 'Transparent') or nil
|
||
|
local glossTex = (not tabStyle and true) or nil
|
||
|
|
||
|
_G.LeftChatTab:SetTemplate(tabStyle, glossTex)
|
||
|
_G.RightChatTab:SetTemplate(tabStyle, glossTex)
|
||
|
end
|
||
|
|
||
|
function LO:ToggleChatPanels()
|
||
|
local showRightPanel = E.db.datatexts.panels.RightChatDataPanel.enable
|
||
|
local showLeftPanel = E.db.datatexts.panels.LeftChatDataPanel.enable
|
||
|
|
||
|
_G.RightChatDataPanel:SetShown(showRightPanel)
|
||
|
_G.LeftChatDataPanel:SetShown(showLeftPanel)
|
||
|
|
||
|
local showToggles = not E.db.chat.hideChatToggles
|
||
|
_G.LeftChatToggleButton:SetShown(showToggles and showLeftPanel)
|
||
|
_G.RightChatToggleButton:SetShown(showToggles and showRightPanel)
|
||
|
|
||
|
LO:RefreshChatMovers()
|
||
|
|
||
|
local panelBackdrop = E.db.chat.panelBackdrop
|
||
|
if panelBackdrop == 'SHOWBOTH' then
|
||
|
_G.LeftChatPanel.backdrop:Show()
|
||
|
_G.RightChatPanel.backdrop:Show()
|
||
|
LO:ToggleChatTabPanels()
|
||
|
elseif panelBackdrop == 'HIDEBOTH' then
|
||
|
_G.LeftChatPanel.backdrop:Hide()
|
||
|
_G.RightChatPanel.backdrop:Hide()
|
||
|
LO:ToggleChatTabPanels(true, true)
|
||
|
elseif panelBackdrop == 'LEFT' then
|
||
|
_G.LeftChatPanel.backdrop:Show()
|
||
|
_G.RightChatPanel.backdrop:Hide()
|
||
|
LO:ToggleChatTabPanels(true)
|
||
|
else
|
||
|
_G.LeftChatPanel.backdrop:Hide()
|
||
|
_G.RightChatPanel.backdrop:Show()
|
||
|
LO:ToggleChatTabPanels(nil, true)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function LO:ResaveChatPosition()
|
||
|
if not E.private.chat.enable then return end
|
||
|
|
||
|
local name, chat = self.name
|
||
|
if name == 'LeftChatMover' then
|
||
|
chat = CH.LeftChatWindow
|
||
|
elseif name == 'RightChatMover' then
|
||
|
chat = CH.RightChatWindow
|
||
|
end
|
||
|
|
||
|
if chat and chat:GetLeft() then
|
||
|
FCF_SavePositionAndDimensions(chat)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function LO:CreateChatPanels()
|
||
|
--Left Chat
|
||
|
local lchat = CreateFrame('Frame', 'LeftChatPanel', E.UIParent, 'BackdropTemplate')
|
||
|
lchat:SetFrameStrata('BACKGROUND')
|
||
|
lchat:SetFrameLevel(300)
|
||
|
lchat:Size(100, 100)
|
||
|
lchat:Point('BOTTOMLEFT', E.UIParent, 4, 4)
|
||
|
lchat:CreateBackdrop('Transparent')
|
||
|
lchat.backdrop.callbackBackdropColor = CH.Panel_ColorUpdate
|
||
|
lchat.backdrop:SetAllPoints()
|
||
|
lchat.FadeObject = {finishedFunc = finishFade, finishedArg1 = lchat, finishedFuncKeep = true}
|
||
|
E:CreateMover(lchat, 'LeftChatMover', L["Left Chat"], nil, nil, LO.ResaveChatPosition, nil, nil, 'chat,general', nil, true)
|
||
|
|
||
|
--Background Texture
|
||
|
local lchattex = lchat:CreateTexture(nil, 'OVERLAY')
|
||
|
lchattex:SetInside()
|
||
|
lchattex:SetTexture(E.db.chat.panelBackdropNameLeft)
|
||
|
lchattex:SetAlpha(E.db.general.backdropfadecolor.a - 0.7 > 0 and E.db.general.backdropfadecolor.a - 0.7 or 0.5)
|
||
|
lchat.tex = lchattex
|
||
|
|
||
|
--Left Chat Tab
|
||
|
CreateFrame('Frame', 'LeftChatTab', lchat, 'BackdropTemplate')
|
||
|
|
||
|
--Left Chat Data Panel
|
||
|
local lchatdp = CreateFrame('Frame', 'LeftChatDataPanel', lchat, 'BackdropTemplate')
|
||
|
DT:RegisterPanel(lchatdp, 3, 'ANCHOR_TOPLEFT', -17, 4)
|
||
|
|
||
|
--Left Chat Toggle Button
|
||
|
local lchattb = CreateFrame('Button', 'LeftChatToggleButton', E.UIParent, 'BackdropTemplate')
|
||
|
lchattb:SetNormalTexture(E.Media.Textures.ArrowUp)
|
||
|
lchattb:SetFrameStrata('BACKGROUND')
|
||
|
lchattb:SetFrameLevel(301)
|
||
|
lchattb:RegisterForClicks('LeftButtonUp', 'RightButtonUp')
|
||
|
lchattb:SetScript('OnEnter', ChatButton_OnEnter)
|
||
|
lchattb:SetScript('OnLeave', ChatButton_OnLeave)
|
||
|
lchattb:SetScript('OnClick', function(lcb, btn)
|
||
|
if btn == 'LeftButton' then
|
||
|
ChatButton_OnClick(lcb)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
local lchattbtex = lchattb:GetNormalTexture()
|
||
|
lchattbtex:SetRotation(E.Skins.ArrowRotation.left)
|
||
|
lchattbtex:ClearAllPoints()
|
||
|
lchattbtex:Point('CENTER')
|
||
|
lchattbtex:Size(12)
|
||
|
lchattb.texture = lchattbtex
|
||
|
lchattb.OnEnter = ChatButton_OnEnter
|
||
|
lchattb.OnLeave = ChatButton_OnLeave
|
||
|
lchattb.parent = lchat
|
||
|
|
||
|
--Right Chat
|
||
|
local rchat = CreateFrame('Frame', 'RightChatPanel', E.UIParent, 'BackdropTemplate')
|
||
|
rchat:SetFrameStrata('BACKGROUND')
|
||
|
rchat:SetFrameLevel(300)
|
||
|
rchat:Size(100, 100)
|
||
|
rchat:Point('BOTTOMRIGHT', E.UIParent, -4, 4)
|
||
|
rchat:CreateBackdrop('Transparent')
|
||
|
rchat.backdrop.callbackBackdropColor = CH.Panel_ColorUpdate
|
||
|
rchat.backdrop:SetAllPoints()
|
||
|
rchat.FadeObject = {finishedFunc = finishFade, finishedArg1 = rchat, finishedFuncKeep = true}
|
||
|
E:CreateMover(rchat, 'RightChatMover', L["Right Chat"], nil, nil, LO.ResaveChatPosition, nil, nil, 'chat,general', nil, true)
|
||
|
|
||
|
--Background Texture
|
||
|
local rchattex = rchat:CreateTexture(nil, 'OVERLAY')
|
||
|
rchattex:SetInside()
|
||
|
rchattex:SetTexture(E.db.chat.panelBackdropNameRight)
|
||
|
rchattex:SetAlpha(E.db.general.backdropfadecolor.a - 0.7 > 0 and E.db.general.backdropfadecolor.a - 0.7 or 0.5)
|
||
|
rchat.tex = rchattex
|
||
|
|
||
|
--Right Chat Tab
|
||
|
CreateFrame('Frame', 'RightChatTab', rchat, 'BackdropTemplate')
|
||
|
|
||
|
--Right Chat Data Panel
|
||
|
local rchatdp = CreateFrame('Frame', 'RightChatDataPanel', rchat, 'BackdropTemplate')
|
||
|
DT:RegisterPanel(rchatdp, 3, 'ANCHOR_TOPRIGHT', 17, 4)
|
||
|
|
||
|
--Right Chat Toggle Button
|
||
|
local rchattb = CreateFrame('Button', 'RightChatToggleButton', E.UIParent, 'BackdropTemplate')
|
||
|
rchattb:SetNormalTexture(E.Media.Textures.ArrowUp)
|
||
|
rchattb:RegisterForClicks('AnyUp')
|
||
|
rchattb:SetFrameStrata('BACKGROUND')
|
||
|
rchattb:SetFrameLevel(301)
|
||
|
rchattb:SetScript('OnEnter', ChatButton_OnEnter)
|
||
|
rchattb:SetScript('OnLeave', ChatButton_OnLeave)
|
||
|
rchattb:SetScript('OnClick', function(rcb, btn)
|
||
|
if btn == 'LeftButton' then
|
||
|
ChatButton_OnClick(rcb)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
local rchattbtex = rchattb:GetNormalTexture()
|
||
|
rchattbtex:SetRotation(E.Skins.ArrowRotation.right)
|
||
|
rchattbtex:ClearAllPoints()
|
||
|
rchattbtex:Point('CENTER')
|
||
|
rchattbtex:Size(12)
|
||
|
rchattb.texture = rchattbtex
|
||
|
rchattb.parent = rchat
|
||
|
|
||
|
--Load Settings
|
||
|
local fadeToggle = E.db.chat.fadeChatToggles
|
||
|
if E.db.LeftChatPanelFaded then
|
||
|
if fadeToggle then
|
||
|
_G.LeftChatToggleButton:SetAlpha(0)
|
||
|
end
|
||
|
|
||
|
lchat:Hide()
|
||
|
end
|
||
|
|
||
|
if E.db.RightChatPanelFaded then
|
||
|
if fadeToggle then
|
||
|
_G.RightChatToggleButton:SetAlpha(0)
|
||
|
end
|
||
|
|
||
|
rchat:Hide()
|
||
|
end
|
||
|
|
||
|
LO:ToggleChatPanels()
|
||
|
LO:SetChatTabStyle()
|
||
|
end
|
||
|
|
||
|
function LO:CreateMinimapPanels()
|
||
|
local panel = CreateFrame('Frame', 'MinimapPanel', _G.Minimap, 'BackdropTemplate')
|
||
|
panel:Point('TOPLEFT', _G.Minimap, 'BOTTOMLEFT', -E.Border, E.PixelMode and 0 or -3)
|
||
|
panel:Point('BOTTOMRIGHT', _G.Minimap, 'BOTTOMRIGHT', E.Border, -BAR_HEIGHT)
|
||
|
panel:Hide()
|
||
|
DT:RegisterPanel(panel, E.db.datatexts.panels.MinimapPanel.numPoints, 'ANCHOR_BOTTOM', 0, -4)
|
||
|
end
|
||
|
|
||
|
E:RegisterModule(LO:GetName())
|