Containers now have fixed widths and heights and their content uses internal_width and internal_height to position.

This commit is contained in:
2019-02-04 15:57:15 -06:00
parent 6225aa4985
commit 31687598e5

View File

@@ -129,6 +129,12 @@ module CyberarmEngine
@width = @origin_width @width = @origin_width
@height= @origin_height @height= @origin_height
if @parent
neighbors = @parent.children.size > 0 ? @parent.children.size : 1
@width = @parent.width / neighbors
@height = @parent.height / neighbors
end
widest_element = nil widest_element = nil
last_element = nil last_element = nil
@@ -148,16 +154,16 @@ module CyberarmEngine
margin = element.margin if defined?(element.margin) margin = element.margin if defined?(element.margin)
case @mode case @mode
when :flow when :flow
@width += element.width + margin unless @origin_width.nonzero? @internal_width += element.width + margin unless @origin_width.nonzero?
@height = element.height + margin if element.height + margin > @height + margin unless @origin_height.nonzero? @internal_height = element.height + margin if element.height + margin > @internal_height + margin unless @origin_height.nonzero?
when :stack when :stack
@width = element.width + margin if element.width + margin > @width + margin unless @origin_width.nonzero? @internal_width = element.width + margin if element.width + margin > @internal_width + margin unless @origin_width.nonzero?
@height += element.height + margin unless @origin_height.nonzero? @internal_height += element.height + margin unless @origin_height.nonzero?
end end
end end
@width += widest_element.margin if widest_element && !@origin_width.nonzero? @internal_width += widest_element.margin if widest_element && !@origin_width.nonzero?
@height += last_element.margin if last_element && !@origin_height.nonzero? @internal_height += last_element.margin if last_element && !@origin_height.nonzero?
end end
def flow(element) def flow(element)