JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
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
 
autogetStartMargin (Axis axis, ItemWithState &item) const
 
autogetEndMargin (Axis axis, ItemWithState &item) const
 
autogetStartLockedMargin (Axis axis, ItemWithState &item) const
 
autogetEndLockedMargin (Axis axis, ItemWithState &item) const
 
autogetLockedSize (Axis axis, ItemWithState &item) const
 
autogetPreferredSize (Axis axis, ItemWithState &item) const
 
Coord getContainerSize (Axis axis) const
 
autogetItemSize (Axis axis, ItemWithState &item) const
 
autogetMinSize (Axis axis, ItemWithState &item) const
 
autogetMaxSize (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
 
Coord containerCrossLength
 
HeapBlock< ItemWithState * > lineItems
 
HeapBlock< RowInfolineInfo
 
Array< ItemWithStateitemStates
 

Detailed Description

Definition at line 29 of file juce_FlexBox.cpp.


Class Documentation

◆ juce::FlexBoxLayoutCalculation::RowInfo

struct juce::FlexBoxLayoutCalculation::RowInfo

Definition at line 66 of file juce_FlexBox.cpp.

Class Members
Coord crossSize
Coord lineY
int numItems
Coord totalLength

Member Typedef Documentation

◆ Coord

using juce::FlexBoxLayoutCalculation::Coord = double

Definition at line 31 of file juce_FlexBox.cpp.

Member Enumeration Documentation

◆ Axis

enum class juce::FlexBoxLayoutCalculation::Axis
strong

Definition at line 33 of file juce_FlexBox.cpp.

Constructor & Destructor Documentation

◆ FlexBoxLayoutCalculation()

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

Definition at line 35 of file juce_FlexBox.cpp.

Member Function Documentation

◆ alignItemsByJustifyContent()

void juce::FlexBoxLayoutCalculation::alignItemsByJustifyContent ( )
noexcept

Definition at line 485 of file juce_FlexBox.cpp.

◆ alignItemsInCrossAxisInLinesPerAlignSelf()

void juce::FlexBoxLayoutCalculation::alignItemsInCrossAxisInLinesPerAlignSelf ( )
noexcept

Definition at line 410 of file juce_FlexBox.cpp.

◆ alignLinesPerAlignContent()

void juce::FlexBoxLayoutCalculation::alignLinesPerAlignContent ( )
noexcept

Definition at line 316 of file juce_FlexBox.cpp.

◆ calculateCrossSizeOfAllItems()

void juce::FlexBoxLayoutCalculation::calculateCrossSizeOfAllItems ( )
noexcept

Definition at line 297 of file juce_FlexBox.cpp.

◆ calculateCrossSizesByLine()

void juce::FlexBoxLayoutCalculation::calculateCrossSizesByLine ( )
noexcept

Definition at line 273 of file juce_FlexBox.cpp.

◆ createStates()

void juce::FlexBoxLayoutCalculation::createStates ( )

Definition at line 159 of file juce_FlexBox.cpp.

◆ getContainerSize()

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

Definition at line 138 of file juce_FlexBox.cpp.

◆ getEndLockedMargin()

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

Definition at line 123 of file juce_FlexBox.cpp.

◆ getEndMargin()

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

Definition at line 113 of file juce_FlexBox.cpp.

◆ getItem()

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

Definition at line 85 of file juce_FlexBox.cpp.

◆ getItemSize()

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

Definition at line 143 of file juce_FlexBox.cpp.

◆ getLockedSize()

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

Definition at line 128 of file juce_FlexBox.cpp.

◆ getMaxSize()

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

Definition at line 153 of file juce_FlexBox.cpp.

◆ getMinSize()

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

Definition at line 148 of file juce_FlexBox.cpp.

◆ getPreferredSize()

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

Definition at line 133 of file juce_FlexBox.cpp.

◆ getStartLockedMargin()

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

Definition at line 118 of file juce_FlexBox.cpp.

◆ getStartMargin()

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

Definition at line 108 of file juce_FlexBox.cpp.

◆ getValueOrZeroIfAuto()

static Coord juce::FlexBoxLayoutCalculation::getValueOrZeroIfAuto ( Coord  value)
staticnoexcept

Definition at line 97 of file juce_FlexBox.cpp.

◆ initialiseItems()

void juce::FlexBoxLayoutCalculation::initialiseItems ( )
noexcept

Definition at line 176 of file juce_FlexBox.cpp.

◆ isAssigned()

static bool juce::FlexBoxLayoutCalculation::isAssigned ( Coord  value)
staticnoexcept

Definition at line 92 of file juce_FlexBox.cpp.

◆ isAuto()

static bool juce::FlexBoxLayoutCalculation::isAuto ( Coord  value)
staticnoexcept

Definition at line 87 of file juce_FlexBox.cpp.

◆ isSingleLine()

bool juce::FlexBoxLayoutCalculation::isSingleLine ( ) const

Definition at line 100 of file juce_FlexBox.cpp.

◆ layoutAllItems()

void juce::FlexBoxLayoutCalculation::layoutAllItems ( )
noexcept

Definition at line 532 of file juce_FlexBox.cpp.

◆ pickForAxis()

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

Definition at line 103 of file juce_FlexBox.cpp.

◆ resolveAutoMarginsOnCrossAxis()

void juce::FlexBoxLayoutCalculation::resolveAutoMarginsOnCrossAxis ( )
noexcept

Definition at line 384 of file juce_FlexBox.cpp.

◆ resolveAutoMarginsOnMainAxis()

void juce::FlexBoxLayoutCalculation::resolveAutoMarginsOnMainAxis ( )
noexcept

Definition at line 239 of file juce_FlexBox.cpp.

◆ resolveFlexibleLengths()

void juce::FlexBoxLayoutCalculation::resolveFlexibleLengths ( )
noexcept

Definition at line 223 of file juce_FlexBox.cpp.

Member Data Documentation

◆ containerCrossLength

Coord juce::FlexBoxLayoutCalculation::containerCrossLength

Definition at line 79 of file juce_FlexBox.cpp.

◆ containerLineLength

const Coord juce::FlexBoxLayoutCalculation::containerLineLength

Definition at line 76 of file juce_FlexBox.cpp.

◆ isRowDirection

const bool juce::FlexBoxLayoutCalculation::isRowDirection

Definition at line 75 of file juce_FlexBox.cpp.

◆ itemStates

Array<ItemWithState> juce::FlexBoxLayoutCalculation::itemStates

Definition at line 83 of file juce_FlexBox.cpp.

◆ lineInfo

HeapBlock<RowInfo> juce::FlexBoxLayoutCalculation::lineInfo

Definition at line 82 of file juce_FlexBox.cpp.

◆ lineItems

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

Definition at line 81 of file juce_FlexBox.cpp.

◆ numberOfRows

int juce::FlexBoxLayoutCalculation::numberOfRows

Definition at line 78 of file juce_FlexBox.cpp.

◆ numItems

const int juce::FlexBoxLayoutCalculation::numItems

Definition at line 74 of file juce_FlexBox.cpp.

◆ owner

FlexBox& juce::FlexBoxLayoutCalculation::owner

Definition at line 72 of file juce_FlexBox.cpp.

◆ parentHeight

const Coord juce::FlexBoxLayoutCalculation::parentHeight

Definition at line 73 of file juce_FlexBox.cpp.

◆ parentWidth

const Coord juce::FlexBoxLayoutCalculation::parentWidth

Definition at line 73 of file juce_FlexBox.cpp.


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