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.

67 lines
2.0 KiB

local SLE, T, E, L, V, P, G = unpack(ElvUI_SLE)
local M = SLE.Misc
local _G = _G
M.ViewportInitialized = false
--Viewports
function M:SetAllPoints()
if InCombatLockdown() or SLE._Compatibility['SunnArt'] or not M.ViewportInitialized or not E.private.sle.viewport.enable then return end
M:SetViewport()
end
--[[function M:ClearAllPoints(force)
print("ClearAllPoints", force)
if force then
WorldFrame:ORClear()
end
end]]
function M:SetViewport()
if InCombatLockdown() or SLE._Compatibility['SunnArt'] or not M.ViewportInitialized or not E.private.sle.viewport.enable then return end
local scale = E.global.general.UIScale
_G.WorldFrame:ClearAllPoints()
_G.WorldFrame:SetPoint('TOPLEFT', (M.db.viewport.left * scale), -(M.db.viewport.top * scale))
_G.WorldFrame:SetPoint('BOTTOMRIGHT', -(M.db.viewport.right * scale), (M.db.viewport.bottom * scale))
end
function M:Initialize()
if not SLE.initialized then return end
M.db = E.db.sle.misc
E:CreateMover(_G.UIErrorsFrame, 'UIErrorsFrameMover', L["Error Frame"], nil, nil, nil, 'ALL,S&L,S&L MISC')
--Viewport
-- function CinematicFrame_CancelCinematic()
-- if ( CinematicFrame.isRealCinematic ) then
-- StopCinematic()
-- elseif ( CanCancelScene() ) then
-- CancelScene()
-- else
-- VehicleExit()
-- end
-- end
--Some high level bullshit
-- WorldFrame.ORClear = WorldFrame.ClearAllPoints
-- WorldFrame.ClearAllPoints = M.ClearAllPoints
if SLE._Compatibility['SunnArt'] or not E.private.sle.viewport.enable then return end
M.ViewportInitialized = true
WorldFrame.ORSetAll = WorldFrame.SetAllPoints
WorldFrame.SetAllPoints = M.SetAllPoints
-- Possible Fix for Cut Scene issues during a raid
CinematicFrame:SetScript('OnShow', nil)
CinematicFrame:SetScript('OnHide', nil)
M:SetViewport()
hooksecurefunc(E, 'PixelScaleChanged', M.SetViewport)
function M:ForUpdateAll()
M.db = E.db.sle.misc
M:SetViewport()
end
end
SLE:RegisterModule(M:GetName())