From 6ec46545ecf94db2a45f51fb06750360a46c4e8e Mon Sep 17 00:00:00 2001 From: Insality Date: Sun, 8 Nov 2020 00:53:35 +0300 Subject: [PATCH] Add static grid get_size_for function --- druid/base/static_grid.lua | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/druid/base/static_grid.lua b/druid/base/static_grid.lua index cbc5dda..33bd2c8 100644 --- a/druid/base/static_grid.lua +++ b/druid/base/static_grid.lua @@ -223,6 +223,27 @@ function StaticGrid.get_size(self) end + +function StaticGrid.get_size_for(self, count) + if count == 0 then + return vmath.vector3(0) + end + + local border = vmath.vector4(math.huge, -math.huge, -math.huge, math.huge) + + local size = self.node_size + local pivot = self.node_pivot + _extend_border(border, self:get_pos(1), size, pivot) + _extend_border(border, self:get_pos(self.in_row), size, pivot) + _extend_border(border, self:get_pos(count), size, pivot) + + return vmath.vector3( + border.z - border.x, + border.y - border.w, + 0) +end + + --- Return grid content borders -- @tparam StaticGrid self -- @treturn vector3 The grid content borders