ftxui::FlexboxConfig
flexbox_config.hpp
Direction
ftxui::FlexboxConfig::Direction
Row

Flex items are laid out in a row.

RowInversed

Flex items are laid out in a row, but in reverse order.

Column

Flex items are laid out in a column.

ColumnInversed

Flex items are laid out in a column, but in reverse order.

This establishes the main-axis, thus defining the direction flex items are placed in the flex container. Flexbox is (aside wrapping) single-direction layout concept. Think of flex items as primarily laying out either in horizontal rows or vertical columns.

Wrap
ftxui::FlexboxConfig::Wrap
NoWrap

Flex items will all try to fit onto one line.

Wrap

Flex items will wrap onto multiple lines.

WrapInversed

Flex items will wrap onto multiple lines, but in reverse order.

By default, flex items will all try to fit onto one line. You can change that and allow the items to wrap as needed with this property.

JustifyContent
ftxui::FlexboxConfig::JustifyContent
FlexStart

Items are aligned to the start of flexbox's direction.

FlexEnd

Items are aligned to the end of flexbox's direction.

Center

Items are centered along the line.

Stretch

Items are stretched to fill the line.

SpaceBetween

Items are evenly distributed in the line; first item is on the start.

SpaceAround

Items are evenly distributed in the line with equal space around them. Note that visually the spaces aren’t equal, since all the items have equal space on both sides. The first item will have one unit of space against the container edge, but two units of space between the next item because that next item has its own spacing that applies.

SpaceEvenly

Items are distributed so that the spacing between any two items (and the space to the edges) is equal.

This defines the alignment along the main axis. It helps distribute extra free space leftover when either all the flex items on a line are inflexible, or are flexible but have reached their maximum size. It also exerts some control over the alignment of items when they overflow the line.

AlignItems
ftxui::FlexboxConfig::AlignItems
FlexStart

items are placed at the start of the cross axis.

FlexEnd

items are placed at the end of the cross axis.

Center

items are centered along the cross axis.

Stretch

items are stretched to fill the cross axis.

This defines the default behavior for how flex items are laid out along the cross axis on the current line. Think of it as the justify-content version for the cross-axis (perpendicular to the main-axis).

AlignContent
ftxui::FlexboxConfig::AlignContent
FlexStart

items are placed at the start of the cross axis.

FlexEnd

items are placed at the end of the cross axis.

Center

items are centered along the cross axis.

Stretch

items are stretched to fill the cross axis.

SpaceBetween

items are evenly distributed in the cross axis.

SpaceAround

tems evenly distributed with equal space around each line.

SpaceEvenly

items are evenly distributed in the cross axis with equal space around them.

Direction Direction direction direction ftxui::FlexboxConfig::direction = Direction::Row
Wrap Wrap wrap wrap ftxui::FlexboxConfig::wrap = Wrap::Wrap
JustifyContent JustifyContent justify_content justify_content ftxui::FlexboxConfig::justify_content = JustifyContent::FlexStart
AlignItems AlignItems align_items align_items ftxui::FlexboxConfig::align_items = AlignItems::FlexStart
AlignContent AlignContent align_content align_content ftxui::FlexboxConfig::align_content = AlignContent::FlexStart
int int gap_x gap_x ftxui::FlexboxConfig::gap_x = 0
int int gap_y gap_y ftxui::FlexboxConfig::gap_y = 0
FlexboxConfig & FlexboxConfig & Set (FlexboxConfig::Direction) Set ftxui::FlexboxConfig::Set FlexboxConfig::Direction d

Set the flexbox direction.

FlexboxConfig & FlexboxConfig & Set (FlexboxConfig::Wrap) Set ftxui::FlexboxConfig::Set FlexboxConfig::Wrap w

Set the flexbox wrap.

FlexboxConfig & FlexboxConfig & Set (FlexboxConfig::JustifyContent) Set ftxui::FlexboxConfig::Set FlexboxConfig::JustifyContent j

Set the flexbox justify content.

FlexboxConfig & FlexboxConfig & Set (FlexboxConfig::AlignItems) Set ftxui::FlexboxConfig::Set FlexboxConfig::AlignItems a

Set the flexbox align items.

FlexboxConfig & FlexboxConfig & Set (FlexboxConfig::AlignContent) Set ftxui::FlexboxConfig::Set FlexboxConfig::AlignContent a

Set the flexbox align content.

FlexboxConfig & FlexboxConfig & SetGap (int gap_x, int gap_y) SetGap ftxui::FlexboxConfig::SetGap int gap_x int gap_y

Set the flexbox flex direction.

- ftxui::FlexboxConfig
  align_content
- ftxui::FlexboxConfig
  align_items
- ftxui::FlexboxConfig
  AlignContent
- ftxui::FlexboxConfig
  AlignItems
- ftxui::FlexboxConfig
  Direction
- ftxui::FlexboxConfig
  direction
- ftxui::FlexboxConfig
  gap_x
- ftxui::FlexboxConfig
  gap_y
- ftxui::FlexboxConfig
  justify_content
- ftxui::FlexboxConfig
  JustifyContent
- ftxui::FlexboxConfig
  Set
- ftxui::FlexboxConfig
  Set
- ftxui::FlexboxConfig
  Set
- ftxui::FlexboxConfig
  Set
- ftxui::FlexboxConfig
  Set
- ftxui::FlexboxConfig
  SetGap
- ftxui::FlexboxConfig
  Wrap
- ftxui::FlexboxConfig
  wrap