Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::GridStyle Struct Reference

Grid layout properties (CSS Grid Level 1 subset). More...

#include <geometry.hpp>

Classes

struct  NamedArea
 Named-area grid. More...

Public Types

enum class  AutoFlow { row , column , row_dense , column_dense }
 Auto-flow direction. More...

Static Public Member Functions

static std::vector< GridTrack > parse_template (const std::string &tmpl, int depth=0)
 Parse "1fr 2fr auto 100px" into track list.
static std::vector< NamedArea > parse_template_areas (const std::string &css)
 Parse the CSS named-area grid string (e.g.
static AutoFlow parse_auto_flow (const std::string &s)
 Parse the auto-flow keyword string. Unrecognized → row.

Public Attributes

std::vector< GridTrack > template_columns
 grid-template-columns
std::vector< GridTrack > template_rows
 grid-template-rows
GridTrack auto_columns = GridTrack::auto_size()
 Implicit-track sizing for auto-placed items that overflow the explicit grid.
GridTrack auto_rows = GridTrack::auto_size()
AutoFlow auto_flow = AutoFlow::row
float column_gap = 0
 grid-column-gap
float row_gap = 0
 grid-row-gap
std::vector< NamedArea > template_areas
int grid_column_start = 0
 0 = auto placement
int grid_column_end = 0
 0 = span 1
int grid_row_start = 0
int grid_row_end = 0
std::string grid_area_name
 grid-area: header references the parent's NamedArea by name.

Detailed Description

Grid layout properties (CSS Grid Level 1 subset).

Supports: • grid-auto-columns / grid-auto-rows — implicit-track sizing • grid-auto-flow — row / column / dense • grid-template-areas — named-area string parser • grid-area shorthand — single token reference into the named-area map (resolves to the matching cell range)

Member Enumeration Documentation

◆ AutoFlow

Auto-flow direction.

Enumerator
row 

default; fill rows left-to-right then wrap

column 

fill columns top-to-bottom then wrap

row_dense 

row + dense-packing (fill earlier holes)

column_dense 

column + dense-packing

Member Function Documentation

◆ parse_auto_flow()

AutoFlow pulp::view::GridStyle::parse_auto_flow ( const std::string & s)
inlinestatic

Parse the auto-flow keyword string. Unrecognized → row.

◆ parse_template()

std::vector< GridTrack > pulp::view::GridStyle::parse_template ( const std::string & tmpl,
int depth = 0 )
static

Parse "1fr 2fr auto 100px" into track list.

depth bounds recursion into nested repeat(...) bodies from untrusted design-tool input.

◆ parse_template_areas()

std::vector< NamedArea > pulp::view::GridStyle::parse_template_areas ( const std::string & css)
static

Parse the CSS named-area grid string (e.g.

"'h h h' 'm c c' 'f f f'") into the NamedArea list. Each row is wrapped in single quotes; cells within a row are space-separated. Cells that share a name across adjacent rows or columns merge into a single rectangular area. '.' is the CSS spec spacer token (skipped entirely).

Member Data Documentation

◆ auto_columns

GridTrack pulp::view::GridStyle::auto_columns = GridTrack::auto_size()

Implicit-track sizing for auto-placed items that overflow the explicit grid.

CSS spec: a single track template that's repeated for every implicit row/column.

◆ auto_flow

AutoFlow pulp::view::GridStyle::auto_flow = AutoFlow::row

◆ auto_rows

GridTrack pulp::view::GridStyle::auto_rows = GridTrack::auto_size()

◆ column_gap

float pulp::view::GridStyle::column_gap = 0

grid-column-gap

◆ grid_area_name

std::string pulp::view::GridStyle::grid_area_name

grid-area: header references the parent's NamedArea by name.

Empty string means "no named-area reference; use the explicit start/end fields above."

◆ grid_column_end

int pulp::view::GridStyle::grid_column_end = 0

0 = span 1

◆ grid_column_start

int pulp::view::GridStyle::grid_column_start = 0

0 = auto placement

◆ grid_row_end

int pulp::view::GridStyle::grid_row_end = 0

◆ grid_row_start

int pulp::view::GridStyle::grid_row_start = 0

◆ row_gap

float pulp::view::GridStyle::row_gap = 0

grid-row-gap

◆ template_areas

std::vector<NamedArea> pulp::view::GridStyle::template_areas

◆ template_columns

std::vector<GridTrack> pulp::view::GridStyle::template_columns

grid-template-columns

◆ template_rows

std::vector<GridTrack> pulp::view::GridStyle::template_rows

grid-template-rows


The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/view/include/pulp/view/geometry.hpp