diff --git a/druid/base/grid.lua b/druid/base/grid.lua index 86e0444..9bdd8e8 100644 --- a/druid/base/grid.lua +++ b/druid/base/grid.lua @@ -20,6 +20,7 @@ -- @tfield vector3 border_offer The border offset for correct anchor calculations local Event = require("druid.event") +local const = require("druid.const") local component = require("druid.component") local M = component.create("grid") @@ -35,7 +36,10 @@ function M.init(self, parent, element, in_row) self.nodes = {} self.offset = vmath.vector3(0) - self.anchor = vmath.vector3(0.5, 0, 0) + + local pivot = const.PIVOTS[gui.get_pivot(self.parent)] + self.anchor = vmath.vector3(0.5 + pivot.x, 0.5 - pivot.y, 0) + self.in_row = in_row or 1 self.node_size = gui.get_size(self:get_node(element)) self.border = vmath.vector4(0) diff --git a/example/page/scroll.lua b/example/page/scroll.lua index d15015b..73bc819 100644 --- a/example/page/scroll.lua +++ b/example/page/scroll.lua @@ -6,7 +6,6 @@ local function init_grid(self) local grid_scroll = self.druid:new_scroll("grid_content", "scroll_with_grid_size") local grid = self.druid:new_grid("grid_content", "grid_prefab", 20) - grid:set_anchor(vmath.vector3(0, 0.5, 0)) for i = 1, 40 do local clone_prefab = gui.clone_tree(prefab)