Added Squared Sizing

Squared sizing is based on scale. This way you can always have a consistant sized square on different resolutions.
This commit is contained in:
Ryan Ward 2019-03-22 20:47:00 -04:00
parent d81485974c
commit 24915c52a3
3 changed files with 7 additions and 40 deletions

View File

@ -1,35 +0,0 @@
_GuiPro.jobqueue:registerJob("LoadImage",function(path)
local dat = love.image.newImageData(path)
return dat
end)
local cache = {}
_GuiPro.jobqueue.OnJobCompleted(function(JOBID,n)
cache[JOBID].Image=_GuiPro.imagecache[n]
cache[JOBID].ImageHeigth=cache[JOBID].Image:getHeight()
cache[JOBID].ImageWidth=cache[JOBID].Image:getWidth()
cache[JOBID].Quad=love.graphics.newQuad(0,0,cache[JOBID].width,cache[JOBID].height,cache[JOBID].ImageWidth,cache[JOBID].ImageHeigth)
end)
function gui:SetImage(i)
local temp = self.Image
if _GuiPro.imagecache[i] then
self.Image=_GuiPro.imagecache[i]
self.ImageHeigth=self.Image:getHeight()
self.ImageWidth=self.Image:getWidth()
self.Quad=love.graphics.newQuad(0,0,self.width,self.height,self.ImageWidth,self.ImageHeigth)
else
if type(i)=="string" then
local ii = _GuiPro.jobqueue:pushJob("LoadImage",i)
cache[ii] = self
elseif tostring(i):find("ImageData") then
self.Image=love.graphics.newImage(i)
self.ImageHeigth=self.Image:getHeight()
self.ImageWidth=self.Image:getWidth()
self.Quad=love.graphics.newQuad(0,0,self.width,self.height,self.ImageWidth,self.ImageHeigth)
elseif i then
self.Image=i
self.ImageHeigth=self.Image:getHeight()
self.ImageWidth=self.Image:getWidth()
self.Quad=love.graphics.newQuad(0,0,self.width,self.height,self.ImageWidth,self.ImageHeigth)
end
end
end

View File

@ -1,8 +1,9 @@
function gui:SquareX(n) function gui:SquareX(n)
local n = n or 0 local n = n or 1
local w = self.Parent.width local w = self.Parent.width
local rw = w*n local rw = w*n
local s = (w-rw)/2 local s = (w-rw)/2
self:setDualDim(self.x+s,self.y+s,rw,rw,sx,sy) self:setDualDim(self.x+s,self.y+s,rw,rw,sx,sy)
return self.Parent.width self:Move(s,s)
return self.Parent.width,rw
end end

View File

@ -1,8 +1,9 @@
function gui:SquareY(n) function gui:SquareY(n)
local n = n or 0 local n = n or 1
local w = self.Parent.height local w = self.Parent.height
local rw = w*n local rw = w*n
local s = (w-rw)/2 local s = (w-rw)/2
self:setDualDim(self.x+s,self.y+s,rw,rw) self:setDualDim(nil,nil,rw,rw)
return self.Parent.height self:Move(s,s)
return self.Parent.height,rw
end end