Class: Tuile::Component::Layout::Horizontal
- Defined in:
- lib/tuile/component/layout/horizontal.rb,
sig/tuile.rbs
Overview
Lays children out left to right. The main axis is horizontal, so a
child's positional constraint is its width and cross: is its
height; align: :start is the top edge, :end the bottom.
split = Component::Layout::Horizontal.new
split.add(, Component::Layout::Fixed[30])
split.add(main, Component::Layout::Expand[1]) # takes the rest of the row
Inside a subclass the constraints need no prefix at all — see Box.
See Box for the constraint vocabulary and how the space is divided.
Constant Summary collapse
- DEFAULT_PLACEMENT =
- ALIGNMENTS =
Instance Attribute Summary
Attributes inherited from Box
Instance Method Summary collapse
-
#build_rect(inner, main_offset, main_size, cross_offset, cross_size) ⇒ Object
@param
inner. -
#cross_extent(rect) ⇒ Integer
@param
rect. -
#main_extent(rect) ⇒ Integer
@param
rect.
Methods inherited from Box
#add, #align_offset, #cross_placement, #distribute_expand, #initialize, #inner_rect, #main_sizes, #percent_of, #place_children, #placement, #rect=, #relayout, #remove, #validate_align, #validate_cross, #validate_main, #validate_spacing
Constructor Details
This class inherits a constructor from Tuile::Component::Layout::Box
Instance Method Details
#build_rect(inner, main_offset, main_size, cross_offset, cross_size) ⇒ Object
@param inner
@param main_offset — columns right of inner's left.
@param main_size — width.
@param cross_offset — rows down from inner's top.
@param cross_size — height.
34 35 36 |
# File 'lib/tuile/component/layout/horizontal.rb', line 34 def build_rect(inner, main_offset, main_size, cross_offset, cross_size) Rect.new(inner.left + main_offset, inner.top + cross_offset, main_size, cross_size) end |
#cross_extent(rect) ⇒ Integer
@param rect
26 |
# File 'lib/tuile/component/layout/horizontal.rb', line 26 def cross_extent(rect) = rect.height |
#main_extent(rect) ⇒ Integer
@param rect
22 |
# File 'lib/tuile/component/layout/horizontal.rb', line 22 def main_extent(rect) = rect.width |