local Constraints = require "lib.simple_ui.constraints" local SingleChildElement = require "lib.simple_ui.single_child_element" --- @class Center : SingleChildElement local element = setmetatable({}, SingleChildElement) element.__index = element element.__type = "Center" function element:layout() self.size = Vec3 { self.constraints.maxWidth, self.constraints.maxHeight } if not self.child then return end self.child.constraints = Constraints(self.constraints) self.child:layout() self.child.offset = Vec3 { self.offset.x + (self.size.x - self.child.size.x) / 2, self.offset.y + (self.size.y - self.child.size.y) / 2, } end return element