From 09f1b941ca49e3a42a9563f0d12d220aeb44cb7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Lopes?= Date: Fri, 3 Feb 2023 17:30:39 +0000 Subject: [PATCH] Grid CalculateSize() fix #21 --- loveframes/objects/base.lua | 1 + loveframes/objects/grid.lua | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/loveframes/objects/base.lua b/loveframes/objects/base.lua index 78abf02..e863439 100644 --- a/loveframes/objects/base.lua +++ b/loveframes/objects/base.lua @@ -412,6 +412,7 @@ function newobject:Center() local base = loveframes.base local parent = self.parent + if self.CalculateSize then self:CalculateSize() end if parent == base then local width = love.graphics.getWidth() local height = love.graphics.getHeight() diff --git a/loveframes/objects/grid.lua b/loveframes/objects/grid.lua index 1af2092..59c13f2 100644 --- a/loveframes/objects/grid.lua +++ b/loveframes/objects/grid.lua @@ -69,10 +69,9 @@ function newobject:update(dt) local prevwidth = self.prevwidth local prevheight = self.prevheight - - self.width = (self.columns * self.cellwidth) + (self.columns * (self.cellpadding * 2)) - self.height = (self.rows * self.cellheight) + (self.rows * (self.cellpadding * 2)) - + + self:CalculateSize() + if self.width ~= prevwidth or self.height ~= prevheight then local onsizechanged = self.OnSizeChanged self.prevwidth = self.width @@ -92,6 +91,15 @@ function newobject:update(dt) end +--[[--------------------------------------------------------- + - func: CalculateSize() + - desc: calculate the object size +--]]--------------------------------------------------------- +function newobject:CalculateSize() + self.width = (self.columns * self.cellwidth) + (self.columns * (self.cellpadding * 2)) + self.height = (self.rows * self.cellheight) + (self.rows * (self.cellpadding * 2)) +end + function newobject:_update_children_position() for k, v in ipairs(self.children) do local rs, cs = self:GetCellSpanSize(v.gridrow, v.gridcolumn)