Represents a FlexBox container, which contains and manages the layout of a set of FlexItem objects. More...
#include <juce_FlexBox.h>
Public Types | |
enum class | Direction { row , rowReverse , column , columnReverse } |
Possible values for the flexDirection property. More... | |
enum class | Wrap { noWrap , wrap , wrapReverse } |
Possible values for the flexWrap property. More... | |
enum class | AlignContent { stretch , flexStart , flexEnd , center , spaceBetween , spaceAround } |
Possible values for the alignContent property. More... | |
enum class | AlignItems { stretch , flexStart , flexEnd , center } |
Possible values for the alignItems property. More... | |
enum class | JustifyContent { flexStart , flexEnd , center , spaceBetween , spaceAround } |
Possible values for the justifyContent property. More... | |
Public Member Functions | |
FlexBox () noexcept=default | |
Creates an empty FlexBox container with default parameters. | |
FlexBox (Direction, Wrap, AlignContent, AlignItems, JustifyContent) noexcept | |
Creates an empty FlexBox container with these parameters. | |
FlexBox (JustifyContent) noexcept | |
Creates an empty FlexBox container with the given content-justification mode. | |
void | performLayout (Rectangle< float > targetArea) |
Lays-out the box's items within the given rectangle. | |
void | performLayout (Rectangle< int > targetArea) |
Lays-out the box's items within the given rectangle. | |
Public Attributes | |
Direction | flexDirection = Direction::row |
Specifies how flex items are placed in the flex container, and defines the direction of the main axis. | |
Wrap | flexWrap = Wrap::noWrap |
Specifies whether items are forced into a single line or can be wrapped onto multiple lines. | |
AlignContent | alignContent = AlignContent::stretch |
Specifies how a flex container's lines are placed within the flex container when there is extra space on the cross-axis. | |
AlignItems | alignItems = AlignItems::stretch |
Specifies the alignment of flex items along the cross-axis of each line. | |
JustifyContent | justifyContent = JustifyContent::flexStart |
Defines how the container distributes space between and around items along the main-axis. | |
Array< FlexItem > | items |
The set of items to lay-out. | |
Represents a FlexBox container, which contains and manages the layout of a set of FlexItem objects.
To use this class, set its parameters appropriately (you can search online for more help on exactly how the FlexBox protocol works!), then add your sub-items to the items array, and call performLayout() in the resized() function of your Component.
|
strong |
|
strong |
|
strong |
Possible values for the alignContent property.
|
strong |
Possible values for the alignItems property.
|
strong |
Possible values for the justifyContent property.
|
defaultnoexcept |
Creates an empty FlexBox container with default parameters.
|
noexcept |
Creates an empty FlexBox container with these parameters.
|
noexcept |
Creates an empty FlexBox container with the given content-justification mode.
void FlexBox::performLayout | ( | Rectangle< float > | targetArea | ) |
Lays-out the box's items within the given rectangle.
void FlexBox::performLayout | ( | Rectangle< int > | targetArea | ) |
Lays-out the box's items within the given rectangle.
Direction FlexBox::flexDirection = Direction::row |
Specifies how flex items are placed in the flex container, and defines the direction of the main axis.
Wrap FlexBox::flexWrap = Wrap::noWrap |
Specifies whether items are forced into a single line or can be wrapped onto multiple lines.
If wrapping is allowed, this property also controls the direction in which lines are stacked.
AlignContent FlexBox::alignContent = AlignContent::stretch |
Specifies how a flex container's lines are placed within the flex container when there is extra space on the cross-axis.
This property has no effect on single line layouts.
AlignItems FlexBox::alignItems = AlignItems::stretch |
Specifies the alignment of flex items along the cross-axis of each line.
JustifyContent FlexBox::justifyContent = JustifyContent::flexStart |
Defines how the container distributes space between and around items along the main-axis.
The alignment is done after the lengths and auto margins are applied, so that if there is at least one flexible element, with flex-grow different from 0, it will have no effect as there won't be any available space.