JUCE
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
FlexItem Class Referencefinal

Describes the properties of an item inside a FlexBox container. More...

Classes

struct  Margin
 Represents a margin. More...
 

Public Types

enum  AlignSelf {
  AlignSelf::autoAlign, AlignSelf::flexStart, AlignSelf::flexEnd, AlignSelf::center,
  AlignSelf::stretch
}
 Possible value for the alignSelf property. More...
 

Public Member Functions

 FlexItem () noexcept
 Creates an item with default parameters, and zero size. More...
 
 FlexItem (float width, float height) noexcept
 Creates an item with the given size. More...
 
 FlexItem (float width, float height, Component &targetComponent) noexcept
 Creates an item with the given size and target Component. More...
 
 FlexItem (float width, float height, FlexBox &flexBoxToControl) noexcept
 Creates an item that represents an embedded FlexBox with a given size. More...
 
 FlexItem (Component &componentToControl) noexcept
 Creates an item with a given target Component. More...
 
 FlexItem (FlexBox &flexBoxToControl) noexcept
 Creates an item that represents an embedded FlexBox. More...
 
FlexItem withFlex (float newFlexGrow) const noexcept
 Returns a copy of this object with a new flex-grow value. More...
 
FlexItem withFlex (float newFlexGrow, float newFlexShrink) const noexcept
 Returns a copy of this object with new flex-grow and flex-shrink values. More...
 
FlexItem withFlex (float newFlexGrow, float newFlexShrink, float newFlexBasis) const noexcept
 Returns a copy of this object with new flex-grow, flex-shrink and flex-basis values. More...
 
FlexItem withWidth (float newWidth) const noexcept
 Returns a copy of this object with a new width. More...
 
FlexItem withMinWidth (float newMinWidth) const noexcept
 Returns a copy of this object with a new minimum width. More...
 
FlexItem withMaxWidth (float newMaxWidth) const noexcept
 Returns a copy of this object with a new maximum width. More...
 
FlexItem withHeight (float newHeight) const noexcept
 Returns a copy of this object with a new height. More...
 
FlexItem withMinHeight (float newMinHeight) const noexcept
 Returns a copy of this object with a new minimum height. More...
 
FlexItem withMaxHeight (float newMaxHeight) const noexcept
 Returns a copy of this object with a new maximum height. More...
 
FlexItem withMargin (Margin) const noexcept
 Returns a copy of this object with a new margin. More...
 
FlexItem withOrder (int newOrder) const noexcept
 Returns a copy of this object with a new order. More...
 
FlexItem withAlignSelf (AlignSelf newAlignSelf) const noexcept
 Returns a copy of this object with a new alignSelf value. More...
 

Public Attributes

Rectangle< float > currentBounds
 The item's current bounds. More...
 
ComponentassociatedComponent = nullptr
 If this is non-null, it represents a Component whose bounds are controlled by this item. More...
 
FlexBoxassociatedFlexBox = nullptr
 If this is non-null, it represents a FlexBox whose bounds are controlled by this item. More...
 
int order = 0
 Determines the order used to lay out items in their flex container. More...
 
float flexGrow = 0.0f
 Specifies the flex grow factor of this item. More...
 
float flexShrink = 1.0f
 Specifies the flex shrink factor of the item. More...
 
float flexBasis = 0.0f
 Specifies the flex-basis of the item. More...
 
AlignSelf alignSelf = AlignSelf::stretch
 This is the align-self property of the item. More...
 
float width = (float) notAssigned
 The item's width. More...
 
float minWidth = 0.0f
 The item's minimum width. More...
 
float maxWidth = (float) notAssigned
 The item's maximum width. More...
 
float height = (float) notAssigned
 The item's height. More...
 
float minHeight = 0.0f
 The item's minimum height. More...
 
float maxHeight = (float) notAssigned
 The item's maximum height. More...
 
Margin margin
 The margin to leave around this item. More...
 

Static Public Attributes

static const int autoValue = -2
 This constant can be used for sizes to indicate that 'auto' mode should be used. More...
 
static const int notAssigned = -1
 This constant can be used for sizes to indicate that no value has been set. More...
 

Detailed Description

Describes the properties of an item inside a FlexBox container.

See also
FlexBox

Member Enumeration Documentation

◆ AlignSelf

enum FlexItem::AlignSelf
strong

Possible value for the alignSelf property.

Enumerator
autoAlign 

Follows the FlexBox container's alignItems property.

flexStart 

Item is aligned towards the start of the cross axis.

flexEnd 

Item is aligned towards the end of the cross axis.

center 

Item is aligned towards the center of the cross axis.

stretch 

Item is stretched from start to end of the cross axis.

Constructor & Destructor Documentation

◆ FlexItem() [1/6]

FlexItem::FlexItem ( )
noexcept

Creates an item with default parameters, and zero size.

◆ FlexItem() [2/6]

FlexItem::FlexItem ( float  width,
float  height 
)
noexcept

Creates an item with the given size.

◆ FlexItem() [3/6]

FlexItem::FlexItem ( float  width,
float  height,
Component targetComponent 
)
noexcept

Creates an item with the given size and target Component.

◆ FlexItem() [4/6]

FlexItem::FlexItem ( float  width,
float  height,
FlexBox flexBoxToControl 
)
noexcept

Creates an item that represents an embedded FlexBox with a given size.

◆ FlexItem() [5/6]

FlexItem::FlexItem ( Component componentToControl)
noexcept

Creates an item with a given target Component.

◆ FlexItem() [6/6]

FlexItem::FlexItem ( FlexBox flexBoxToControl)
noexcept

Creates an item that represents an embedded FlexBox.

This class will not create a copy of the supplied flex box. You need to ensure that the life-time of flexBoxToControl is longer than the FlexItem.

Member Function Documentation

◆ withFlex() [1/3]

FlexItem FlexItem::withFlex ( float  newFlexGrow) const
noexcept

Returns a copy of this object with a new flex-grow value.

◆ withFlex() [2/3]

FlexItem FlexItem::withFlex ( float  newFlexGrow,
float  newFlexShrink 
) const
noexcept

Returns a copy of this object with new flex-grow and flex-shrink values.

◆ withFlex() [3/3]

FlexItem FlexItem::withFlex ( float  newFlexGrow,
float  newFlexShrink,
float  newFlexBasis 
) const
noexcept

Returns a copy of this object with new flex-grow, flex-shrink and flex-basis values.

◆ withWidth()

FlexItem FlexItem::withWidth ( float  newWidth) const
noexcept

Returns a copy of this object with a new width.

◆ withMinWidth()

FlexItem FlexItem::withMinWidth ( float  newMinWidth) const
noexcept

Returns a copy of this object with a new minimum width.

◆ withMaxWidth()

FlexItem FlexItem::withMaxWidth ( float  newMaxWidth) const
noexcept

Returns a copy of this object with a new maximum width.

◆ withHeight()

FlexItem FlexItem::withHeight ( float  newHeight) const
noexcept

Returns a copy of this object with a new height.

◆ withMinHeight()

FlexItem FlexItem::withMinHeight ( float  newMinHeight) const
noexcept

Returns a copy of this object with a new minimum height.

◆ withMaxHeight()

FlexItem FlexItem::withMaxHeight ( float  newMaxHeight) const
noexcept

Returns a copy of this object with a new maximum height.

◆ withMargin()

FlexItem FlexItem::withMargin ( Margin  ) const
noexcept

Returns a copy of this object with a new margin.

◆ withOrder()

FlexItem FlexItem::withOrder ( int  newOrder) const
noexcept

Returns a copy of this object with a new order.

◆ withAlignSelf()

FlexItem FlexItem::withAlignSelf ( AlignSelf  newAlignSelf) const
noexcept

Returns a copy of this object with a new alignSelf value.

Member Data Documentation

◆ currentBounds

Rectangle<float> FlexItem::currentBounds

The item's current bounds.

◆ associatedComponent

Component* FlexItem::associatedComponent = nullptr

If this is non-null, it represents a Component whose bounds are controlled by this item.

◆ associatedFlexBox

FlexBox* FlexItem::associatedFlexBox = nullptr

If this is non-null, it represents a FlexBox whose bounds are controlled by this item.

◆ order

int FlexItem::order = 0

Determines the order used to lay out items in their flex container.

Elements are laid out in ascending order of thus order value. Elements with the same order value are laid out in the order in which they appear in the array.

◆ flexGrow

float FlexItem::flexGrow = 0.0f

Specifies the flex grow factor of this item.

This indicates the amount of space inside the flex container the item should take up.

◆ flexShrink

float FlexItem::flexShrink = 1.0f

Specifies the flex shrink factor of the item.

This indicates the rate at which the item shrinks if there is insufficient space in the container.

◆ flexBasis

float FlexItem::flexBasis = 0.0f

Specifies the flex-basis of the item.

This is the initial main size of a flex item in the direction of flow. It determines the size of the content-box unless specified otherwise using box-sizing.

◆ alignSelf

AlignSelf FlexItem::alignSelf = AlignSelf::stretch

This is the align-self property of the item.

This determines the alignment of the item along the cross-axis (perpendicular to the direction of flow).

◆ autoValue

const int FlexItem::autoValue = -2
static

This constant can be used for sizes to indicate that 'auto' mode should be used.

◆ notAssigned

const int FlexItem::notAssigned = -1
static

This constant can be used for sizes to indicate that no value has been set.

◆ width

float FlexItem::width = (float) notAssigned

The item's width.

◆ minWidth

float FlexItem::minWidth = 0.0f

The item's minimum width.

◆ maxWidth

float FlexItem::maxWidth = (float) notAssigned

The item's maximum width.

◆ height

float FlexItem::height = (float) notAssigned

The item's height.

◆ minHeight

float FlexItem::minHeight = 0.0f

The item's minimum height.

◆ maxHeight

float FlexItem::maxHeight = (float) notAssigned

The item's maximum height.

◆ margin

Margin FlexItem::margin

The margin to leave around this item.


The documentation for this class was generated from the following file: