Panels, spacers and splitters

EsPanelCreate

EsPanel *EsPanelCreate(EsElement *parent, EsPanelFlags flags = ES_FLAGS_DEFAULT, EsStyleID style = 0);

Creates a new panel, a container that lays out its child elements. The layout direction and scrolling behaviour are controlled by the flags.

EsSpacerCreate

EsSpacer *EsSpacerCreate(EsElement *parent, EsSpacerFlags flags = ES_FLAGS_DEFAULT, EsStyleID style = 0, int width = 0, int height = 0);

Creates an empty element of the given size, used for spacing in a layout. If width or height is -1, the default of 4 is used.

EsSplitterCreate

EsSplitter *EsSplitterCreate(EsElement *parent, EsSplitterFlags flags = ES_FLAGS_DEFAULT, EsStyleID style = 0);

Creates a splitter, a resizable divider between two panes.

EsCanvasPaneCreate

EsCanvasPane *EsCanvasPaneCreate(EsElement *parent, EsCanvasPaneFlags flags = ES_FLAGS_DEFAULT, EsStyleID style = 0);

Creates a pane for custom drawing. The application handles the painting itself.

EsPanelSetBands

void EsPanelSetBands(EsPanel *panel, size_t columnCount, size_t rowCount = 0, const EsPanelBand *columns = ES_NULL, const EsPanelBand *rows = ES_NULL);

Sets the number of columns and rows of a table panel, and the sizing of each band. The panel must have ES_PANEL_TABLE set. The band arrays are copied.

EsPanelSetBandsAll

void EsPanelSetBandsAll(EsPanel *panel, const EsPanelBand *column = ES_NULL, const EsPanelBand *row = ES_NULL);

Set all the columns/rows to have the same properties. This must be called after the final number of bands has been determined/set!

EsPanelTableSetChildCells

void EsPanelTableSetChildCells(EsPanel *panel);

Automatically set the child cells for items in a table. This is only necessary if the number of columns/rows is changed after adding items to a table.

EsPanelTableAddBandDecorator

void EsPanelTableAddBandDecorator(EsPanel *panel, EsPanelBandDecorator decorator);

Adds a decorator that is drawn across the bands of a table panel.

EsPanelSwitchTo

void EsPanelSwitchTo(EsPanel *panel, EsElement *targetChild, EsTransitionType transitionType, EsPanelSwitchToFlags flags = ES_FLAGS_DEFAULT, float timeMultiplier = 1);

Switches the visible child of a switcher panel to targetChild, with a transition. The panel must have ES_PANEL_SWITCHER set.

EsPanelStartMovementAnimation

void EsPanelStartMovementAnimation(EsPanel *panel, float timeMultiplier = 1);

Animates the movement of the panel's children to their new positions after a layout change. The panel must not be a switcher.

EsPanelRadioGroupGetChecked

EsButton *EsPanelRadioGroupGetChecked(EsPanel *panel);

Returns the checked button in a radio group panel. If no button is checked, the first child is returned.

EsSpacerChangeStyle

void EsSpacerChangeStyle(EsSpacer *spacer, EsStyleID newStyle);

Changes the style of a spacer element.