Class: Engine::Components::UI::FlexLayout::Stretch

Inherits:
Base
  • Object
show all
Defined in:
lib/engine/components/ui/flex/stretch_layout.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Engine::Components::UI::FlexLayout::Base

Instance Method Details

#rect_for_child(child_ui_rect, index, children, parent_rect) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/engine/components/ui/flex/stretch_layout.rb', line 7

def rect_for_child(child_ui_rect, index, children, parent_rect)
  sizes = calculate_sizes(children, parent_rect)

  # Y-down: both row and column increment main_start
  main_start = main_axis_start(parent_rect)
  children.each_with_index do |_, i|
    break if i == index
    main_start += sizes[i] + gap
  end

  build_rect(parent_rect, main_start: main_start, main_size: sizes[index], child_ui_rect: child_ui_rect)
end