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

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 withHeight (float newHeight) const noexcept
 Returns a copy of this object with a new height. More...
 
FlexItem withMargin (Margin) const noexcept
 Returns a copy of this object with a new margin. 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 aligh-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

enum FlexItem::AlignSelf
strong

Possible value for the alignSelf property.

Enumerator
autoAlign 
flexStart 
flexEnd 
center 
stretch 

Constructor & Destructor Documentation

FlexItem::FlexItem ( )
noexcept

Creates an item with default parameters, and zero size.

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

Creates an item with the given size.

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

Creates an item with the given size and target component.

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

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

FlexItem::FlexItem ( Component componentToControl)
noexcept

Creates an item with a given target component.

FlexItem::FlexItem ( FlexBox flexBoxToControl)
noexcept

Creates an item that represents an embedded FlexBox.

Member Function Documentation

FlexItem FlexItem::withFlex ( float  newFlexGrow) const
noexcept

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

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

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

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.

FlexItem FlexItem::withWidth ( float  newWidth) const
noexcept

Returns a copy of this object with a new width.

FlexItem FlexItem::withHeight ( float  newHeight) const
noexcept

Returns a copy of this object with a new height.

FlexItem FlexItem::withMargin ( Margin  ) const
noexcept

Returns a copy of this object with a new margin.

Member Data Documentation

Rectangle<float> FlexItem::currentBounds

The item's current bounds.

Component* FlexItem::associatedComponent = nullptr

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

FlexBox* FlexItem::associatedFlexBox = nullptr

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

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.

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.

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.

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 FlexItem::alignSelf = AlignSelf::stretch

This is the aligh-self property of the item.

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

const int FlexItem::autoValue = -2
static

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

const int FlexItem::notAssigned = -1
static

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

float FlexItem::width = (float) notAssigned

The item's width.

float FlexItem::minWidth = 0.0f

The item's minimum width.

float FlexItem::maxWidth = (float) notAssigned

The item's maximum width.

float FlexItem::height = (float) notAssigned

The item's height.

float FlexItem::minHeight = 0.0f

The item's minimum height.

float FlexItem::maxHeight = (float) notAssigned

The item's maximum height.

Margin FlexItem::margin

The margin to leave around this item.


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