|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Progress-bar leaf widget for the ra8_widget tree model (#145 Phase 2). More...
Go to the source code of this file.
Data Structures | |
| struct | ra8_widget_progress_bar |
Typedefs | |
| typedef struct ra8_widget_progress_bar | ra8_widget_progress_bar_t |
Functions | |
| const ra8_widget_vtable_t * | ra8_widget_progress_bar_vtable (void) |
| Return the shared vtable backing every progress-bar widget. | |
| ra8_err_t | ra8_widget_progress_bar_init (ra8_widget_t *w, ra8_widget_progress_bar_t *bar) |
| Bind a widget instance to a progress bar. | |
Progress-bar leaf widget for the ra8_widget tree model (#145 Phase 2).
The reading footer and every book card in the e-reader chrome draw the same shape: a soft track rectangle with a proportional filled portion showing how far through a book (or chapter) the reader is. ra8_widget_progress_bar_t extracts that into a reusable ra8_widget leaf: it fills its rect with the track colour, then overpaints the leftmost value / total fraction with the fill colour. Like every leaf in this library it paints through the injected ra8_widget_paint_t backend, so the widget carries no ra8_gfx dependency and the fill-fraction maths is host-testable with a recording mock. It is display-only, so its vtable leaves on_input NULL.
[Ring 5 / UI] {World: NS}
Definition in file ra8_widget_progress_bar.h.
| typedef struct ra8_widget_progress_bar ra8_widget_progress_bar_t |
|
nodiscard |
Bind a widget instance to a progress bar.
Wires w to render bar: sets its vtable to ra8_widget_progress_bar_vtable, points its ctx at bar, and makes it visible. The caller still sets w's fixed / flex for its parent's layout.
| [in,out] | w | Widget to turn into a progress bar (non-NULL). |
| [in] | bar | Progress-bar descriptor (non-NULL; outlives w's use). |
| k_ra8_ok | Bound; w renders bar. |
| k_ra8_err_null_ptr | w or bar is NULL. |
w and bar are non-NULL. bar outlives every render of w. w is left unchanged.Definition at line 87 of file ra8_widget_progress_bar.c.
References k_ra8_ok, RA8_CHECK_NULL_PTR, ra8_widget_progress_bar_vtable(), and s_tag.
| const ra8_widget_vtable_t * ra8_widget_progress_bar_vtable | ( | void | ) |
Return the shared vtable backing every progress-bar widget.
One immutable vtable serves all progress bars: render fills the track then the proportional fill through the bar's ra8_widget_paint_t; measure and on_input are NULL (a progress bar sizes from its parent's fixed/flex and never consumes input). ra8_widget_progress_bar_init binds it, so callers rarely need it directly – it is exposed for tests and hand-built widgets.
Definition at line 82 of file ra8_widget_progress_bar.c.
References s_pb_vt.
Referenced by ra8_widget_progress_bar_init(), and wd_build_tree().