mirror of
https://github.com/Bluewhale1337/ElvUIModernized.git
synced 2026-07-27 08:24:44 +00:00
update pixelperfect
This commit is contained in:
@@ -26,7 +26,6 @@ local RAID_CLASS_COLORS = RAID_CLASS_COLORS
|
|||||||
E.LSM = LSM
|
E.LSM = LSM
|
||||||
E.noop = function() end
|
E.noop = function() end
|
||||||
E.title = format("|cff175581E|r|cffC4C4C4lvUI|r")
|
E.title = format("|cff175581E|r|cffC4C4C4lvUI|r")
|
||||||
E.myfaction, E.myLocalizedFaction = UnitFactionGroup("player")
|
|
||||||
E.myLocalizedClass, E.myclass = UnitClass("player")
|
E.myLocalizedClass, E.myclass = UnitClass("player")
|
||||||
E.myLocalizedRace, E.myrace = UnitRace("player")
|
E.myLocalizedRace, E.myrace = UnitRace("player")
|
||||||
E.myname = UnitName("player")
|
E.myname = UnitName("player")
|
||||||
|
|||||||
+20
-16
@@ -7,8 +7,12 @@ local match = string.match
|
|||||||
--WoW API / Variables
|
--WoW API / Variables
|
||||||
local GetCVar, SetCVar = GetCVar, SetCVar
|
local GetCVar, SetCVar = GetCVar, SetCVar
|
||||||
|
|
||||||
local scale
|
--Global variables that we don"t cache, list them here for the mikk"s Find Globals script
|
||||||
|
-- GLOBALS: UIParent, WorldMapFrame
|
||||||
|
|
||||||
|
--Determine if Eyefinity is being used, setup the pixel perfect script.
|
||||||
|
|
||||||
|
local scale
|
||||||
function E:UIScale(event)
|
function E:UIScale(event)
|
||||||
local width = E.screenwidth
|
local width = E.screenwidth
|
||||||
local height = E.screenheight
|
local height = E.screenheight
|
||||||
@@ -26,24 +30,24 @@ function E:UIScale(event)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if width < 1600 then
|
if width < 1600 then
|
||||||
E.lowversion = true
|
E.lowversion = true
|
||||||
elseif width >= 3840 and E.global.general.eyefinity then
|
elseif width >= 3840 and E.global.general.eyefinity then
|
||||||
-- because some user enable bezel compensation, we need to find the real width of a single monitor.
|
-- because some user enable bezel compensation, we need to find the real width of a single monitor.
|
||||||
-- I don't know how it really work, but i'm assuming they add pixel to width to compensate the bezel. :P
|
-- I don't know how it really work, but i'm assuming they add pixel to width to compensate the bezel. :P
|
||||||
|
|
||||||
-- HQ resolution
|
-- HQ resolution
|
||||||
if width >= 9840 then width = 3280 end -- WQSXGA
|
if width >= 9840 then width = 3280 end -- WQSXGA
|
||||||
if width >= 7680 and width < 9840 then width = 2560 end -- WQXGA
|
if width >= 7680 and width < 9840 then width = 2560 end -- WQXGA
|
||||||
if width >= 5760 and width < 7680 then width = 1920 end -- WUXGA & HDTV
|
if width >= 5760 and width < 7680 then width = 1920 end -- WUXGA & HDTV
|
||||||
if width >= 5040 and width < 5760 then width = 1680 end -- WSXGA+
|
if width >= 5040 and width < 5760 then width = 1680 end -- WSXGA+
|
||||||
|
|
||||||
-- adding height condition here to be sure it work with bezel compensation because WSXGA+ and UXGA/HD+ got approx same width
|
-- adding height condition here to be sure it work with bezel compensation because WSXGA+ and UXGA/HD+ got approx same width
|
||||||
if width >= 4800 and width < 5760 and height == 900 then width = 1600 end -- UXGA & HD+
|
if width >= 4800 and width < 5760 and height == 900 then width = 1600 end -- UXGA & HD+
|
||||||
|
|
||||||
-- low resolution screen
|
-- low resolution screen
|
||||||
if width >= 4320 and width < 4800 then width = 1440 end -- WSXGA
|
if width >= 4320 and width < 4800 then width = 1440 end -- WSXGA
|
||||||
if width >= 4080 and width < 4320 then width = 1360 end -- WXGA
|
if width >= 4080 and width < 4320 then width = 1360 end -- WXGA
|
||||||
if width >= 3840 and width < 4080 then width = 1224 end -- SXGA & SXGA (UVGA) & WXGA & HDTV
|
if width >= 3840 and width < 4080 then width = 1224 end -- SXGA & SXGA (UVGA) & WXGA & HDTV
|
||||||
|
|
||||||
-- yep, now set ElvUI to lower resolution if screen #1 width < 1600
|
-- yep, now set ElvUI to lower resolution if screen #1 width < 1600
|
||||||
if width < 1600 then
|
if width < 1600 then
|
||||||
@@ -55,8 +59,8 @@ function E:UIScale(event)
|
|||||||
end
|
end
|
||||||
|
|
||||||
E.mult = 768/height/scale
|
E.mult = 768/height/scale
|
||||||
E.Spacing = E.PixelMode and 0 or E.mult
|
E.Spacing = (E.PixelMode and 0) or E.mult
|
||||||
E.Border = (E.PixelMode and E.mult or E.mult*2)
|
E.Border = (E.PixelMode and E.mult) or E.mult*2
|
||||||
|
|
||||||
if E.global.general.autoScale then
|
if E.global.general.autoScale then
|
||||||
--Set UIScale, NOTE: SetCVar for UIScale can cause taints so only do this when we need to..
|
--Set UIScale, NOTE: SetCVar for UIScale can cause taints so only do this when we need to..
|
||||||
@@ -77,8 +81,8 @@ function E:UIScale(event)
|
|||||||
-- if autoscale is off, find a new width value of E.UIParent for screen #1.
|
-- if autoscale is off, find a new width value of E.UIParent for screen #1.
|
||||||
if not E.global.general.autoScale or height > 1200 then
|
if not E.global.general.autoScale or height > 1200 then
|
||||||
local h = UIParent:GetHeight()
|
local h = UIParent:GetHeight()
|
||||||
local ratio = height / h
|
local ratio = (height / h)
|
||||||
local w = width / ratio
|
local w = (width / ratio)
|
||||||
|
|
||||||
width = w
|
width = w
|
||||||
height = h
|
height = h
|
||||||
@@ -88,8 +92,7 @@ function E:UIScale(event)
|
|||||||
Dragging moveable frames outside the box and reloading the UI ensures that they are saving position correctly.
|
Dragging moveable frames outside the box and reloading the UI ensures that they are saving position correctly.
|
||||||
]]
|
]]
|
||||||
else
|
else
|
||||||
width = UIParent:GetWidth()
|
width, height = UIParent:GetWidth(), UIParent:GetHeight()
|
||||||
height = UIParent:GetHeight()
|
|
||||||
end
|
end
|
||||||
|
|
||||||
E.UIParent:SetWidth(width)
|
E.UIParent:SetWidth(width)
|
||||||
@@ -97,6 +100,7 @@ function E:UIScale(event)
|
|||||||
E.UIParent:ClearAllPoints()
|
E.UIParent:ClearAllPoints()
|
||||||
E.UIParent:SetAllPoints(UIParent)
|
E.UIParent:SetAllPoints(UIParent)
|
||||||
|
|
||||||
|
--Calculate potential coordinate differences
|
||||||
E.diffGetLeft = E:Round(abs(UIParent:GetLeft() - E.UIParent:GetLeft()))
|
E.diffGetLeft = E:Round(abs(UIParent:GetLeft() - E.UIParent:GetLeft()))
|
||||||
E.diffGetRight = E:Round(abs(UIParent:GetRight() - E.UIParent:GetRight()))
|
E.diffGetRight = E:Round(abs(UIParent:GetRight() - E.UIParent:GetRight()))
|
||||||
E.diffGetTop = E:Round(abs(UIParent:GetTop() - E.UIParent:GetTop()))
|
E.diffGetTop = E:Round(abs(UIParent:GetTop() - E.UIParent:GetTop()))
|
||||||
@@ -121,5 +125,5 @@ end
|
|||||||
|
|
||||||
-- pixel perfect script of custom ui scale.
|
-- pixel perfect script of custom ui scale.
|
||||||
function E:Scale(x)
|
function E:Scale(x)
|
||||||
return E.mult*floor(x/E.mult+.5)
|
return E.mult * floor(x/E.mult+.5)
|
||||||
end
|
end
|
||||||
Reference in New Issue
Block a user