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

Caller-owned backing storage for the render-path glyph cache (#164). More...

#include <reflow_api.h>

Collaboration diagram for reflow_glyph_atlas_storage_t:

Data Fields

uint8_t * cell_mem
 cell_count * cell_bytes of bitmap storage.
uint32_t cell_bytes
 Bytes per cell (>= largest cached glyph).
uint32_t cell_count
 Number of cells (the glyph-cache budget).
ra8_keycache_cell_tmeta
 cell_count link-metadata entries.
ra8_glyph_key_tkeys
 cell_count key-storage entries.
ra8_glyph_dims_tdims
 cell_count dimension descriptors.
int32_t * buckets
 bucket_count hash-bucket heads.
uint32_t bucket_count
 Number of hash buckets (>= 1).

Detailed Description

Caller-owned backing storage for the render-path glyph cache (#164).

Mirrors ra8_glyph_atlas_cfg_t minus the render seam: reflow supplies its own stb_truetype rasteriser as the render-on-miss callback, so the caller provides only the fixed storage. All arrays are caller-owned (typically static in the ereader app, carved from a tier arena) and must out-live the engine. meta, keys, and dims are parallel per-cell arrays (cell_count entries each); cell_mem holds the packed alpha-8 glyph bitmaps. A glyph whose bitmap exceeds cell_bytes is not cached – the render path falls back to direct rasterisation for it, so output is unchanged.

Invariant
cell_bytes, cell_count, and bucket_count are all non-zero.
See also
reflow_set_glyph_atlas()
ra8_glyph_atlas_cfg_t
Since
0.1.0

Definition at line 191 of file reflow_api.h.

Field Documentation

◆ bucket_count

uint32_t reflow_glyph_atlas_storage_t::bucket_count

Number of hash buckets (>= 1).

Definition at line 199 of file reflow_api.h.

Referenced by reflow_set_glyph_atlas().

◆ buckets

int32_t* reflow_glyph_atlas_storage_t::buckets

bucket_count hash-bucket heads.

Definition at line 198 of file reflow_api.h.

Referenced by reflow_set_glyph_atlas().

◆ cell_bytes

uint32_t reflow_glyph_atlas_storage_t::cell_bytes

Bytes per cell (>= largest cached glyph).

Definition at line 193 of file reflow_api.h.

Referenced by reflow_set_glyph_atlas().

◆ cell_count

uint32_t reflow_glyph_atlas_storage_t::cell_count

Number of cells (the glyph-cache budget).

Definition at line 194 of file reflow_api.h.

Referenced by reflow_set_glyph_atlas().

◆ cell_mem

uint8_t* reflow_glyph_atlas_storage_t::cell_mem

cell_count * cell_bytes of bitmap storage.

Definition at line 192 of file reflow_api.h.

Referenced by reflow_set_glyph_atlas().

◆ dims

ra8_glyph_dims_t* reflow_glyph_atlas_storage_t::dims

cell_count dimension descriptors.

Definition at line 197 of file reflow_api.h.

Referenced by reflow_set_glyph_atlas().

◆ keys

ra8_glyph_key_t* reflow_glyph_atlas_storage_t::keys

cell_count key-storage entries.

Definition at line 196 of file reflow_api.h.

Referenced by reflow_set_glyph_atlas().

◆ meta

ra8_keycache_cell_t* reflow_glyph_atlas_storage_t::meta

cell_count link-metadata entries.

Definition at line 195 of file reflow_api.h.

Referenced by reflow_set_glyph_atlas().


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