JUCE  v5.4.1-191-g0ab5e696f
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::Grid Class Referencefinal

Container that handles geometry for grid layouts (fixed columns and rows) using a set of declarative rules. More...

#include <juce_Grid.h>

Collaboration diagram for juce::Grid:

Classes

struct  Fr
 A fractional ratio integer. More...
 
struct  Px
 A size in pixels. More...
 
struct  TrackInfo
 Represents a track. More...
 

Public Types

enum  AlignContent {
  AlignContent::start,
  AlignContent::end,
  AlignContent::center,
  AlignContent::stretch,
  AlignContent::spaceAround,
  AlignContent::spaceBetween,
  AlignContent::spaceEvenly
}
 Possible values for the alignContent property. More...
 
enum  AlignItems : int {
  AlignItems::start = 0,
  AlignItems::end,
  AlignItems::center,
  AlignItems::stretch
}
 Possible values for the alignItems property. More...
 
enum  AutoFlow {
  AutoFlow::row,
  AutoFlow::column,
  AutoFlow::rowDense,
  AutoFlow::columnDense
}
 Possible values for the autoFlow property. More...
 
enum  JustifyContent {
  JustifyContent::start,
  JustifyContent::end,
  JustifyContent::center,
  JustifyContent::stretch,
  JustifyContent::spaceAround,
  JustifyContent::spaceBetween,
  JustifyContent::spaceEvenly
}
 Possible values for the justifyContent property. More...
 
enum  JustifyItems : int {
  JustifyItems::start = 0,
  JustifyItems::end,
  JustifyItems::center,
  JustifyItems::stretch
}
 Possible values for the justifyItems property. More...
 

Public Member Functions

 Grid () noexcept
 Creates an empty Grid container with default parameters. More...
 
 ~Grid () noexcept
 Destructor. More...
 
int getNumberOfColumns () const noexcept
 Returns the number of columns. More...
 
int getNumberOfRows () const noexcept
 Returns the number of rows. More...
 
void performLayout (juce::Rectangle< int >)
 Lays-out the grid's items within the given rectangle. More...
 
void setGap (Px sizeInPixels) noexcept
 Sets the gap between rows and columns in pixels. More...
 

Public Attributes

AlignContent alignContent = AlignContent::stretch
 Specifies the alignment of items along the columns. More...
 
AlignItems alignItems = AlignItems::stretch
 Specifies the alignment of content inside the items along the columns. More...
 
TrackInfo autoColumns
 The column track for auto dimension. More...
 
AutoFlow autoFlow = AutoFlow::row
 Specifies how the auto-placement algorithm places items. More...
 
TrackInfo autoRows
 The row track for auto dimension. More...
 
Px columnGap { 0 }
 The gap in pixels between columns. More...
 
juce::Array< GridItemitems
 The set of items to lay-out. More...
 
JustifyContent justifyContent = JustifyContent::stretch
 Specifies the alignment of items along the rows. More...
 
JustifyItems justifyItems = JustifyItems::stretch
 Specifies the alignment of content inside the items along the rows. More...
 
Px rowGap { 0 }
 The gap in pixels between rows. More...
 
juce::StringArray templateAreas
 Template areas. More...
 
juce::Array< TrackInfotemplateColumns
 The set of column tracks to lay out. More...
 
juce::Array< TrackInfotemplateRows
 The set of row tracks to lay out. More...
 

Detailed Description

Container that handles geometry for grid layouts (fixed columns and rows) using a set of declarative rules.

Implemented from the CSS Grid Layout specification as described at: https://css-tricks.com/snippets/css/complete-guide-grid/

See also
GridItem

{GUI}

Member Enumeration Documentation

◆ AlignContent

Possible values for the alignContent property.

Enumerator
start 

Items are aligned towards the top of the container.

end 

Items are aligned towards the bottom of the container.

center 

Items are aligned towards the center of the container.

stretch 

Items are stretched from top to bottom of the container.

spaceAround 

Items are evenly spaced along the column with spaces between them.

spaceBetween 

Items are evenly spaced along the column with spaces around them.

spaceEvenly 

Items are evenly spaced along the column with even amount of spaces between them.

◆ AlignItems

enum juce::Grid::AlignItems : int
strong

Possible values for the alignItems property.

Enumerator
start 

Content inside the item is aligned towards the top.

end 

Content inside the item is aligned towards the bottom.

center 

Content inside the item is aligned towards the center.

stretch 

Content inside the item is stretched from top to bottom.

◆ AutoFlow

enum juce::Grid::AutoFlow
strong

Possible values for the autoFlow property.

Enumerator
row 

Fills the grid by adding rows of items.

column 

Fills the grid by adding columns of items.

rowDense 

Fills the grid by adding rows of items and attempts to fill in gaps.

columnDense 

Fills the grid by adding columns of items and attempts to fill in gaps.

◆ JustifyContent

Possible values for the justifyContent property.

Enumerator
start 

Items are justified towards the left of the container.

end 

Items are justified towards the right of the container.

center 

Items are justified towards the center of the container.

stretch 

Items are stretched from left to right of the container.

spaceAround 

Items are evenly spaced along the row with spaces between them.

spaceBetween 

Items are evenly spaced along the row with spaces around them.

spaceEvenly 

Items are evenly spaced along the row with even amount of spaces between them.

◆ JustifyItems

Possible values for the justifyItems property.

Enumerator
start 

Content inside the item is justified towards the left.

end 

Content inside the item is justified towards the right.

center 

Content inside the item is justified towards the center.

stretch 

Content inside the item is stretched from left to right.

Constructor & Destructor Documentation

◆ Grid()

juce::Grid::Grid ( )
noexcept

Creates an empty Grid container with default parameters.

◆ ~Grid()

juce::Grid::~Grid ( )
noexcept

Destructor.

Member Function Documentation

◆ getNumberOfColumns()

int juce::Grid::getNumberOfColumns ( ) const
inlinenoexcept

◆ getNumberOfRows()

int juce::Grid::getNumberOfRows ( ) const
inlinenoexcept

◆ performLayout()

void juce::Grid::performLayout ( juce::Rectangle< int )

Lays-out the grid's items within the given rectangle.

◆ setGap()

void juce::Grid::setGap ( Px  sizeInPixels)
inlinenoexcept

Sets the gap between rows and columns in pixels.

Member Data Documentation

◆ alignContent

AlignContent juce::Grid::alignContent = AlignContent::stretch

Specifies the alignment of items along the columns.

◆ alignItems

AlignItems juce::Grid::alignItems = AlignItems::stretch

Specifies the alignment of content inside the items along the columns.

◆ autoColumns

TrackInfo juce::Grid::autoColumns

The column track for auto dimension.

◆ autoFlow

AutoFlow juce::Grid::autoFlow = AutoFlow::row

Specifies how the auto-placement algorithm places items.

◆ autoRows

TrackInfo juce::Grid::autoRows

The row track for auto dimension.

◆ columnGap

Px juce::Grid::columnGap { 0 }

The gap in pixels between columns.

◆ items

juce::Array<GridItem> juce::Grid::items

The set of items to lay-out.

◆ justifyContent

JustifyContent juce::Grid::justifyContent = JustifyContent::stretch

Specifies the alignment of items along the rows.

◆ justifyItems

JustifyItems juce::Grid::justifyItems = JustifyItems::stretch

Specifies the alignment of content inside the items along the rows.

◆ rowGap

Px juce::Grid::rowGap { 0 }

The gap in pixels between rows.

◆ templateAreas

juce::StringArray juce::Grid::templateAreas

Template areas.

◆ templateColumns

juce::Array<TrackInfo> juce::Grid::templateColumns

The set of column tracks to lay out.

◆ templateRows

juce::Array<TrackInfo> juce::Grid::templateRows

The set of row tracks to lay out.


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