LMMS
Loading...
Searching...
No Matches
juce::FlexBoxLayoutCalculation Struct Reference

Classes

struct  ItemWithState
struct  RowInfo

Public Types

enum class  Axis { main , cross }
using Coord = double

Public Member Functions

 FlexBoxLayoutCalculation (FlexBox &fb, Coord w, Coord h)
ItemWithStategetItem (int x, int y) const noexcept
bool isSingleLine () const
template<typename Value>
ValuepickForAxis (Axis axis, Value &x, Value &y) const
auto & getStartMargin (Axis axis, ItemWithState &item) const
auto & getEndMargin (Axis axis, ItemWithState &item) const
auto & getStartLockedMargin (Axis axis, ItemWithState &item) const
auto & getEndLockedMargin (Axis axis, ItemWithState &item) const
auto & getLockedSize (Axis axis, ItemWithState &item) const
auto & getPreferredSize (Axis axis, ItemWithState &item) const
Coord getContainerSize (Axis axis) const
auto & getItemSize (Axis axis, ItemWithState &item) const
auto & getMinSize (Axis axis, ItemWithState &item) const
auto & getMaxSize (Axis axis, ItemWithState &item) const
void createStates ()
void initialiseItems () noexcept
void resolveFlexibleLengths () noexcept
void resolveAutoMarginsOnMainAxis () noexcept
void calculateCrossSizesByLine () noexcept
void calculateCrossSizeOfAllItems () noexcept
void alignLinesPerAlignContent () noexcept
void resolveAutoMarginsOnCrossAxis () noexcept
void alignItemsInCrossAxisInLinesPerAlignSelf () noexcept
void alignItemsByJustifyContent () noexcept
void layoutAllItems () noexcept

Static Public Member Functions

static bool isAuto (Coord value) noexcept
static bool isAssigned (Coord value) noexcept
static Coord getValueOrZeroIfAuto (Coord value) noexcept

Public Attributes

FlexBoxowner
const Coord parentWidth
const Coord parentHeight
const int numItems
const bool isRowDirection
const Coord containerLineLength
int numberOfRows = 1
Coord containerCrossLength = 0
HeapBlock< ItemWithState * > lineItems
HeapBlock< RowInfolineInfo
Array< ItemWithStateitemStates

Private Member Functions

void resetRowItems (const int row) noexcept
void resetUnlockedRowItems (const int row) noexcept
void resetItem (ItemWithState &item) noexcept
bool layoutRowItems (const int row) noexcept
void recalculateTotalItemLengthPerLineArray () noexcept
void reverseLocations () noexcept
void reverseWrap () noexcept
Coord getItemMainSize (const ItemWithState &item) const noexcept
Coord getItemCrossSize (const ItemWithState &item) const noexcept
bool addToItemLength (ItemWithState &item, const Coord length, int row) const noexcept
Coord computePreferredSize (Axis axis, ItemWithState &itemWithState) const noexcept

Member Typedef Documentation

◆ Coord

using juce::FlexBoxLayoutCalculation::Coord = double

Member Enumeration Documentation

◆ Axis

enum class juce::FlexBoxLayoutCalculation::Axis
strong
Enumerator
main 
cross 

Constructor & Destructor Documentation

◆ FlexBoxLayoutCalculation()

juce::FlexBoxLayoutCalculation::FlexBoxLayoutCalculation ( FlexBox & fb,
Coord w,
Coord h )
inline

Member Function Documentation

◆ addToItemLength()

bool juce::FlexBoxLayoutCalculation::addToItemLength ( ItemWithState & item,
const Coord length,
int row ) const
inlineprivatenoexcept

◆ alignItemsByJustifyContent()

void juce::FlexBoxLayoutCalculation::alignItemsByJustifyContent ( )
inlinenoexcept

◆ alignItemsInCrossAxisInLinesPerAlignSelf()

void juce::FlexBoxLayoutCalculation::alignItemsInCrossAxisInLinesPerAlignSelf ( )
inlinenoexcept

◆ alignLinesPerAlignContent()

void juce::FlexBoxLayoutCalculation::alignLinesPerAlignContent ( )
inlinenoexcept

◆ calculateCrossSizeOfAllItems()

void juce::FlexBoxLayoutCalculation::calculateCrossSizeOfAllItems ( )
inlinenoexcept

◆ calculateCrossSizesByLine()

void juce::FlexBoxLayoutCalculation::calculateCrossSizesByLine ( )
inlinenoexcept

◆ computePreferredSize()

Coord juce::FlexBoxLayoutCalculation::computePreferredSize ( Axis axis,
ItemWithState & itemWithState ) const
inlineprivatenoexcept

◆ createStates()

void juce::FlexBoxLayoutCalculation::createStates ( )
inline

◆ getContainerSize()

Coord juce::FlexBoxLayoutCalculation::getContainerSize ( Axis axis) const
inline

◆ getEndLockedMargin()

auto & juce::FlexBoxLayoutCalculation::getEndLockedMargin ( Axis axis,
ItemWithState & item ) const
inline

◆ getEndMargin()

auto & juce::FlexBoxLayoutCalculation::getEndMargin ( Axis axis,
ItemWithState & item ) const
inline

◆ getItem()

ItemWithState & juce::FlexBoxLayoutCalculation::getItem ( int x,
int y ) const
inlinenoexcept

◆ getItemCrossSize()

Coord juce::FlexBoxLayoutCalculation::getItemCrossSize ( const ItemWithState & item) const
inlineprivatenoexcept

◆ getItemMainSize()

Coord juce::FlexBoxLayoutCalculation::getItemMainSize ( const ItemWithState & item) const
inlineprivatenoexcept

◆ getItemSize()

auto & juce::FlexBoxLayoutCalculation::getItemSize ( Axis axis,
ItemWithState & item ) const
inline

◆ getLockedSize()

auto & juce::FlexBoxLayoutCalculation::getLockedSize ( Axis axis,
ItemWithState & item ) const
inline

◆ getMaxSize()

auto & juce::FlexBoxLayoutCalculation::getMaxSize ( Axis axis,
ItemWithState & item ) const
inline

◆ getMinSize()

auto & juce::FlexBoxLayoutCalculation::getMinSize ( Axis axis,
ItemWithState & item ) const
inline

◆ getPreferredSize()

auto & juce::FlexBoxLayoutCalculation::getPreferredSize ( Axis axis,
ItemWithState & item ) const
inline

◆ getStartLockedMargin()

auto & juce::FlexBoxLayoutCalculation::getStartLockedMargin ( Axis axis,
ItemWithState & item ) const
inline

◆ getStartMargin()

auto & juce::FlexBoxLayoutCalculation::getStartMargin ( Axis axis,
ItemWithState & item ) const
inline

◆ getValueOrZeroIfAuto()

Coord juce::FlexBoxLayoutCalculation::getValueOrZeroIfAuto ( Coord value)
inlinestaticnoexcept

◆ initialiseItems()

void juce::FlexBoxLayoutCalculation::initialiseItems ( )
inlinenoexcept

◆ isAssigned()

bool juce::FlexBoxLayoutCalculation::isAssigned ( Coord value)
inlinestaticnoexcept

◆ isAuto()

bool juce::FlexBoxLayoutCalculation::isAuto ( Coord value)
inlinestaticnoexcept

◆ isSingleLine()

bool juce::FlexBoxLayoutCalculation::isSingleLine ( ) const
inline

◆ layoutAllItems()

void juce::FlexBoxLayoutCalculation::layoutAllItems ( )
inlinenoexcept

◆ layoutRowItems()

bool juce::FlexBoxLayoutCalculation::layoutRowItems ( const int row)
inlineprivatenoexcept

◆ pickForAxis()

template<typename Value>
Value & juce::FlexBoxLayoutCalculation::pickForAxis ( Axis axis,
Value & x,
Value & y ) const
inline

◆ recalculateTotalItemLengthPerLineArray()

void juce::FlexBoxLayoutCalculation::recalculateTotalItemLengthPerLineArray ( )
inlineprivatenoexcept

◆ resetItem()

void juce::FlexBoxLayoutCalculation::resetItem ( ItemWithState & item)
inlineprivatenoexcept

◆ resetRowItems()

void juce::FlexBoxLayoutCalculation::resetRowItems ( const int row)
inlineprivatenoexcept

◆ resetUnlockedRowItems()

void juce::FlexBoxLayoutCalculation::resetUnlockedRowItems ( const int row)
inlineprivatenoexcept

◆ resolveAutoMarginsOnCrossAxis()

void juce::FlexBoxLayoutCalculation::resolveAutoMarginsOnCrossAxis ( )
inlinenoexcept

◆ resolveAutoMarginsOnMainAxis()

void juce::FlexBoxLayoutCalculation::resolveAutoMarginsOnMainAxis ( )
inlinenoexcept

◆ resolveFlexibleLengths()

void juce::FlexBoxLayoutCalculation::resolveFlexibleLengths ( )
inlinenoexcept

◆ reverseLocations()

void juce::FlexBoxLayoutCalculation::reverseLocations ( )
inlineprivatenoexcept

◆ reverseWrap()

void juce::FlexBoxLayoutCalculation::reverseWrap ( )
inlineprivatenoexcept

Member Data Documentation

◆ containerCrossLength

Coord juce::FlexBoxLayoutCalculation::containerCrossLength = 0

◆ containerLineLength

const Coord juce::FlexBoxLayoutCalculation::containerLineLength

◆ isRowDirection

const bool juce::FlexBoxLayoutCalculation::isRowDirection

◆ itemStates

Array<ItemWithState> juce::FlexBoxLayoutCalculation::itemStates

◆ lineInfo

HeapBlock<RowInfo> juce::FlexBoxLayoutCalculation::lineInfo

◆ lineItems

HeapBlock<ItemWithState*> juce::FlexBoxLayoutCalculation::lineItems

◆ numberOfRows

int juce::FlexBoxLayoutCalculation::numberOfRows = 1

◆ numItems

const int juce::FlexBoxLayoutCalculation::numItems

◆ owner

FlexBox& juce::FlexBoxLayoutCalculation::owner

◆ parentHeight

const Coord juce::FlexBoxLayoutCalculation::parentHeight

◆ parentWidth

const Coord juce::FlexBoxLayoutCalculation::parentWidth

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