ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_box_t Struct Reference

One node in a box tree (caller-owned). More...

#include <ra8_box.h>

Collaboration diagram for ra8_box_t:

Data Fields

uint8_t kind
 ra8_box_kind_t.
uint8_t grid_cols
 Columns for k_ra8_box_grid (>= 1).
int16_t fixed
 Fixed main-axis extent; 0 => use flex.
uint16_t flex
 Flex weight when not fixed.
int16_t pad
 Inner padding (all four sides).
int16_t gap
 Gap between children.
uint32_t fill
 Background colour, or k_ra8_box_no_colour.
uint32_t border
 Border colour, or k_ra8_box_no_colour.
int16_t border_w
 Border width (0 = no border draw).
int16_t tag
 Caller tag (e.g.
int32_t first_child
 First child index, or k_ra8_box_none.
int32_t next
 Next sibling index, or k_ra8_box_none.
ra8_ui_rect_t rect
 OUTPUT: computed rectangle.

Detailed Description

One node in a box tree (caller-owned).

rect is the layout output. The tree links (first_child, next) are maintained by ra8_box_add. Sizing along the parent's main axis is fixed when fixed > 0, otherwise flex weight (0 flex = collapse). fill / border are opaque 0xRRGGBB values the renderer reads; k_ra8_box_no_colour (0, i.e. black) is reserved as "none" – chrome uses the grayscale ramp where pure black is ink, so leaves that need a true black fill should use k_ra8_box_ink instead.

Definition at line 90 of file ra8_box.h.

Field Documentation

◆ border

uint32_t ra8_box_t::border

Border colour, or k_ra8_box_no_colour.

Definition at line 98 of file ra8_box.h.

Referenced by er_leaf(), and er_render_boxnodes().

◆ border_w

int16_t ra8_box_t::border_w

Border width (0 = no border draw).

Definition at line 99 of file ra8_box.h.

Referenced by er_leaf(), and er_render_boxnodes().

◆ fill

uint32_t ra8_box_t::fill

Background colour, or k_ra8_box_no_colour.

Definition at line 97 of file ra8_box.h.

Referenced by er_leaf(), and er_render_boxnodes().

◆ first_child

int32_t ra8_box_t::first_child

First child index, or k_ra8_box_none.

Definition at line 101 of file ra8_box.h.

Referenced by internal_layout_grid(), internal_layout_stack(), internal_tally(), and ra8_box_add().

◆ fixed

int16_t ra8_box_t::fixed

Fixed main-axis extent; 0 => use flex.

Definition at line 93 of file ra8_box.h.

Referenced by er_container(), er_leaf(), internal_build_stack_tree(), internal_layout_grid(), internal_layout_stack(), and internal_tally().

◆ flex

uint16_t ra8_box_t::flex

Flex weight when not fixed.

Definition at line 94 of file ra8_box.h.

Referenced by er_container(), er_leaf(), internal_build_stack_tree(), internal_layout_stack(), and internal_tally().

◆ gap

int16_t ra8_box_t::gap

Gap between children.

Definition at line 96 of file ra8_box.h.

Referenced by er_container(), internal_build_stack_tree(), internal_layout_grid(), and internal_layout_stack().

◆ grid_cols

uint8_t ra8_box_t::grid_cols

Columns for k_ra8_box_grid (>= 1).

Definition at line 92 of file ra8_box.h.

Referenced by er_container(), er_leaf(), and internal_layout_grid().

◆ kind

uint8_t ra8_box_t::kind

◆ next

int32_t ra8_box_t::next

Next sibling index, or k_ra8_box_none.

Definition at line 102 of file ra8_box.h.

Referenced by internal_layout_grid(), internal_layout_stack(), internal_tally(), and ra8_box_add().

◆ pad

int16_t ra8_box_t::pad

Inner padding (all four sides).

Definition at line 95 of file ra8_box.h.

Referenced by er_container(), internal_build_stack_tree(), internal_layout_grid(), and internal_layout_stack().

◆ rect

◆ tag

int16_t ra8_box_t::tag

Caller tag (e.g.

ra8_ui action id), or -1.

Definition at line 100 of file ra8_box.h.

Referenced by er_add_book_tile(), er_build_nav(), er_build_toolbar(), er_collect_targets(), er_container(), er_leaf(), and internal_build_stack_tree().


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