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.
108 lines
4.0 KiB
108 lines
4.0 KiB
local MDT = MDT
|
|
local db
|
|
local sizex, sizey
|
|
local canvasDrawLayer = "BORDER"
|
|
|
|
--Fullscreen the AddOn Window
|
|
function MDT:Maximize()
|
|
db = MDT:GetDB()
|
|
sizex, sizey = MDT:GetDefaultMapPanelSize()
|
|
local f = MDT.main_frame
|
|
|
|
local oldScrollH = f.scrollFrame:GetHorizontalScroll()
|
|
local oldScrollV = f.scrollFrame:GetVerticalScroll()
|
|
local oldSizeX = f.scrollFrame:GetWidth()
|
|
local oldSizeY = f.scrollFrame:GetHeight()
|
|
if not f.blackoutFrame then
|
|
f.blackoutFrame = CreateFrame("Frame", "MDTBlackoutFrame", f)
|
|
f.blackoutFrame:EnableMouse(true)
|
|
f.blackoutFrameTex = f.blackoutFrame:CreateTexture(nil, "BACKGROUND")
|
|
f.blackoutFrameTex:SetAllPoints()
|
|
f.blackoutFrameTex:SetDrawLayer(canvasDrawLayer, -6)
|
|
f.blackoutFrameTex:SetColorTexture(0.058823399245739,0.058823399245739,0.058823399245739,1)
|
|
f.blackoutFrame:ClearAllPoints()
|
|
f.blackoutFrame:SetAllPoints(UIParent)
|
|
end
|
|
f.blackoutFrame:Show()
|
|
f.topPanel:RegisterForDrag(nil)
|
|
f.bottomPanel:RegisterForDrag(nil)
|
|
local newSizex, newSizey, scale, isNarrow = MDT:GetFullScreenSizes()
|
|
db.scale = scale
|
|
f:ClearAllPoints()
|
|
if not isNarrow then
|
|
f:SetPoint("TOP", UIParent,"TOP", -(f.sidePanel:GetWidth()/2), -30)
|
|
else
|
|
f:SetPoint("LEFT", UIParent,"LEFT")
|
|
end
|
|
f:SetSize(newSizex,newSizey)
|
|
f.scrollFrame:SetSize(newSizex, newSizey)
|
|
f.mapPanelFrame:SetSize(newSizex, newSizey)
|
|
for i=1,12 do
|
|
f["mapPanelTile"..i]:SetSize((newSizex/4+5*db.scale),(newSizex/4+5*db.scale))
|
|
end
|
|
for i=1,10 do
|
|
for j=1,15 do
|
|
f["largeMapPanelTile"..i..j]:SetSize(newSizex/15,newSizex/15)
|
|
end
|
|
end
|
|
f.scrollFrame:SetVerticalScroll(oldScrollV * (newSizey / oldSizeY))
|
|
f.scrollFrame:SetHorizontalScroll(oldScrollH * (newSizex / oldSizeX))
|
|
f.scrollFrame.cursorY = f.scrollFrame.cursorY * (newSizey / oldSizeY)
|
|
f.scrollFrame.cursorX = f.scrollFrame.cursorX * (newSizex / oldSizeX)
|
|
MDT:ZoomMap(0)
|
|
MDT:UpdateEnemyInfoFrame()
|
|
MDT:UpdateMap()
|
|
if db.devMode then
|
|
f.devPanel:ClearAllPoints()
|
|
f.devPanel:SetPoint("TOPLEFT",f,"TOPLEFT",0,-45)
|
|
end
|
|
f.resizer:Hide()
|
|
MDT:CreateTutorialButton(MDT.main_frame)
|
|
db.maximized = true
|
|
end
|
|
|
|
---Restore normal AddOn Window
|
|
function MDT:Minimize()
|
|
db = MDT:GetDB()
|
|
sizex, sizey = MDT:GetDefaultMapPanelSize()
|
|
local f = MDT.main_frame
|
|
|
|
local oldScrollH = f.scrollFrame:GetHorizontalScroll()
|
|
local oldScrollV = f.scrollFrame:GetVerticalScroll()
|
|
local oldSizeX = f.scrollFrame:GetWidth()
|
|
local oldSizeY = f.scrollFrame:GetHeight()
|
|
if f.blackoutFrame then f.blackoutFrame:Hide() end
|
|
f.topPanel:RegisterForDrag("LeftButton")
|
|
f.bottomPanel:RegisterForDrag("LeftButton")
|
|
db.scale = db.nonFullscreenScale
|
|
local newSizex = sizex*db.scale
|
|
local newSizey = sizey*db.scale
|
|
f:ClearAllPoints()
|
|
f:SetPoint(db.anchorTo, UIParent,db.anchorFrom, db.xoffset, db.yoffset)
|
|
f:SetSize(newSizex,newSizey)
|
|
f.scrollFrame:SetSize(newSizex, newSizey)
|
|
f.mapPanelFrame:SetSize(newSizex, newSizey)
|
|
for i=1,12 do
|
|
f["mapPanelTile"..i]:SetSize(newSizex/4+(5*db.scale),newSizex/4+(5*db.scale))
|
|
end
|
|
for i=1,10 do
|
|
for j=1,15 do
|
|
f["largeMapPanelTile"..i..j]:SetSize(newSizex/15,newSizex/15)
|
|
end
|
|
end
|
|
f.scrollFrame:SetVerticalScroll(oldScrollV * (newSizey / oldSizeY))
|
|
f.scrollFrame:SetHorizontalScroll(oldScrollH * (newSizex / oldSizeX))
|
|
f.scrollFrame.cursorY = f.scrollFrame.cursorY * (newSizey / oldSizeY)
|
|
f.scrollFrame.cursorX = f.scrollFrame.cursorX * (newSizex / oldSizeX)
|
|
MDT:ZoomMap(0)
|
|
MDT:UpdateEnemyInfoFrame()
|
|
MDT:UpdateMap()
|
|
if db.devMode then
|
|
f.devPanel:ClearAllPoints()
|
|
f.devPanel:SetPoint("TOPRIGHT",f.topPanel,"TOPLEFT",0,0)
|
|
end
|
|
f.resizer:Show()
|
|
MDT:CreateTutorialButton(MDT.main_frame)
|
|
|
|
db.maximized = false
|
|
end
|
|
|