ra8-firmware
0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_widget_book.h
Go to the documentation of this file.
1
25
26
#pragma once
27
28
#ifdef __cplusplus
29
extern
"C"
{
30
#endif
31
32
#include <stdint.h>
33
34
#include "
ra8_err.h
"
35
#include "
ra8_widget.h
"
36
53
typedef
struct
ra8_widget_book
{
54
const
char
*
title
;
55
const
char
*
author
;
56
uint32_t
cover
;
57
uint16_t
percent
;
58
}
ra8_widget_book_t
;
59
93
typedef
struct
ra8_widget_book_grid
{
94
const
ra8_widget_paint_t
*
paint
;
95
const
ra8_widget_book_t
*
books
;
97
void (*
on_open
)(
struct
ra8_widget
* w, uint16_t index);
98
uint32_t
bg
;
99
uint32_t
title_fg
;
100
uint32_t
author_fg
;
101
uint32_t
bar_track
;
102
uint32_t
bar_fill
;
103
uint16_t
count
;
104
uint16_t
cols
;
105
uint16_t
selected
;
106
int16_t
pad
;
107
int16_t
gap
;
108
int16_t
label_h
;
109
int16_t
bar_h
;
110
}
ra8_widget_book_grid_t
;
111
132
const
ra8_widget_vtable_t
*
ra8_widget_book_grid_vtable
(
void
);
133
159
[[nodiscard]]
ra8_err_t
ra8_widget_book_grid_init
(
ra8_widget_t
* w,
ra8_widget_book_grid_t
* grid);
160
161
#ifdef __cplusplus
162
}
163
#endif
ra8_err.h
Error Code Definitions for ra8-firmware.
ra8_err_t
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition
ra8_err.h:546
ra8_widget.h
Zero-heap composable widget layer (dwm-style) over ra8_box + ra8_ui.
ra8_widget_book_grid_init
ra8_err_t ra8_widget_book_grid_init(ra8_widget_t *w, ra8_widget_book_grid_t *grid)
Bind a widget instance to a book grid.
Definition
ra8_widget_book.c:317
ra8_widget_book_grid_vtable
const ra8_widget_vtable_t * ra8_widget_book_grid_vtable(void)
Return the shared vtable backing every book-grid widget.
Definition
ra8_widget_book.c:312
ra8_widget_book_t
struct ra8_widget_book ra8_widget_book_t
ra8_widget_book_grid_t
A tappable N-column grid of book cards.
ra8_widget_book_grid
Definition
ra8_widget_book.h:93
ra8_widget_book_grid::bar_h
int16_t bar_h
Card progress-bar height, pixels.
Definition
ra8_widget_book.h:109
ra8_widget_book_grid::author_fg
uint32_t author_fg
Author text colour, 0xRRGGBB.
Definition
ra8_widget_book.h:100
ra8_widget_book_grid::bar_track
uint32_t bar_track
Card progress track colour, 0xRRGGBB.
Definition
ra8_widget_book.h:101
ra8_widget_book_grid::cols
uint16_t cols
Grid columns (>= 1).
Definition
ra8_widget_book.h:104
ra8_widget_book_grid::on_open
void(* on_open)(struct ra8_widget *w, uint16_t index)
Tap callback (opt/NULL).
Definition
ra8_widget_book.h:97
ra8_widget_book_grid::selected
uint16_t selected
Last-tapped card index (observable).
Definition
ra8_widget_book.h:105
ra8_widget_book_grid::label_h
int16_t label_h
Title / author row height, pixels.
Definition
ra8_widget_book.h:108
ra8_widget_book_grid::paint
const ra8_widget_paint_t * paint
Draw backend (NULL -> draws nothing).
Definition
ra8_widget_book.h:94
ra8_widget_book_grid::title_fg
uint32_t title_fg
Title text colour, 0xRRGGBB.
Definition
ra8_widget_book.h:99
ra8_widget_book_grid::pad
int16_t pad
Grid inner padding, pixels.
Definition
ra8_widget_book.h:106
ra8_widget_book_grid::bar_fill
uint32_t bar_fill
Card progress fill colour, 0xRRGGBB.
Definition
ra8_widget_book.h:102
ra8_widget_book_grid::count
uint16_t count
Number of book cards.
Definition
ra8_widget_book.h:103
ra8_widget_book_grid::books
const ra8_widget_book_t * books
Array of count book records.
Definition
ra8_widget_book.h:95
ra8_widget_book_grid::bg
uint32_t bg
Grid background colour, 0xRRGGBB.
Definition
ra8_widget_book.h:98
ra8_widget_book_grid::gap
int16_t gap
Gap between cards, pixels.
Definition
ra8_widget_book.h:107
ra8_widget_book_t
One book card's data: cover colour, title, author, read progress.
ra8_widget_book
Definition
ra8_widget_book.h:53
ra8_widget_book::cover
uint32_t cover
Cover swatch fill colour, 0xRRGGBB.
Definition
ra8_widget_book.h:56
ra8_widget_book::title
const char * title
Title line (NUL-terminated; NULL -> none).
Definition
ra8_widget_book.h:54
ra8_widget_book::author
const char * author
Author line (NUL-terminated; NULL -> none).
Definition
ra8_widget_book.h:55
ra8_widget_book::percent
uint16_t percent
Read progress 0..100 (saturates at 100).
Definition
ra8_widget_book.h:57
ra8_widget_paint_t
Drawing backend the concrete leaf widgets paint through (a DI seam).
ra8_widget_t
One widget instance (caller-owned, no allocation).
ra8_widget_vtable_t
Behaviour table shared by all widgets of one kind.
Definition
ra8_widget.h:121
ra8_widget
Definition
ra8_widget.h:159
libs
ra8_widget
inc
ra8_widget_book.h
Generated by
1.16.1