|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Whole-app UI + reader state (single instance g_sh). More...
#include <sh_app.h>
Data Fields | |
| sh_screen_t | screen |
| Active screen. | |
| uint16_t | selected |
| Highlighted shelf book index. | |
| uint16_t | book_count |
| Shelf entries in use (baked + SD). | |
| bool | sd_ready |
| true once an SD volume mounted. | |
| sh_entry_t | entry [k_sh_max_books] |
| Unified baked+SD book table. | |
| sh_book_fmt_t | open_fmt |
| Format of the currently open book. | |
| book_src_t | book_src |
| Paged source over the open rabook. | |
| uint32_t | chapter |
| Reader: current chapter index. | |
| uint32_t | chapter_count |
| Open book chapter count. | |
| uint32_t | page |
| Reader: current page within the chapter. | |
| uint32_t | chap_pages |
| Reader: pages in the current chapter. | |
| int32_t | toc_scroll |
| TOC: first visible row index. | |
| uint32_t | comic_page |
| Comic reader: current page index (0-based). | |
| uint32_t | comic_count |
| Comic reader: open comic page count (0 = none). | |
| bool | comic_rtl |
| Comic reader: right-to-left (manga) reading order. | |
| bool | loupe_active |
| Press-hold magnifier loupe currently open (#211). | |
| int32_t | loupe_cx |
| Loupe pan centre X in full-res source pixels. | |
| int32_t | loupe_cy |
| Loupe pan centre Y in full-res source pixels. | |
| uint32_t | touch_down_ms |
| ra8_time_ms() timestamp at the current press start. | |
| int32_t | touch_down_x |
| Press-start X in framebuffer pixels. | |
| int32_t | touch_down_y |
| Press-start Y in framebuffer pixels. | |
| size_t | text_len |
| Bytes of valid chapter text. | |
| uint32_t | line_count |
| Wrapped lines in the chapter. | |
| char | text [k_sh_text_cap] |
| Current chapter plain text. | |
| sh_line_t | lines [k_sh_max_lines] |
| Wrapped line slices. | |
| ra8_ui_rect_t | card_rect [k_sh_max_books] |
| Cached shelf card rects. | |
| uint8_t | thumb [k_sh_max_books][k_sh_thumb_bytes] |
| gray8 covers. | |
| uint16_t | thumb_w [k_sh_max_books] |
| Drawn thumbnail width. | |
| uint16_t | thumb_h [k_sh_max_books] |
| Drawn thumbnail height. | |
Whole-app UI + reader state (single instance g_sh).
Holds the active screen, the shelf selection + per-book cover thumbnail cache, the currently open (demand-paged) book, and the reader's chapter/page pagination working set.
| uint16_t sh_state_t::book_count |
| book_src_t sh_state_t::book_src |
| ra8_ui_rect_t sh_state_t::card_rect[k_sh_max_books] |
| uint32_t sh_state_t::chap_pages |
| uint32_t sh_state_t::chapter |
| uint32_t sh_state_t::chapter_count |
| uint32_t sh_state_t::comic_count |
| uint32_t sh_state_t::comic_page |
| bool sh_state_t::comic_rtl |
| sh_entry_t sh_state_t::entry[k_sh_max_books] |
| uint32_t sh_state_t::line_count |
| sh_line_t sh_state_t::lines[k_sh_max_lines] |
| bool sh_state_t::loupe_active |
| int32_t sh_state_t::loupe_cx |
| int32_t sh_state_t::loupe_cy |
| sh_book_fmt_t sh_state_t::open_fmt |
| uint32_t sh_state_t::page |
| sh_screen_t sh_state_t::screen |
| uint16_t sh_state_t::selected |
| char sh_state_t::text[k_sh_text_cap] |
| uint8_t sh_state_t::thumb[k_sh_max_books][k_sh_thumb_bytes] |
| uint16_t sh_state_t::thumb_h[k_sh_max_books] |
| uint16_t sh_state_t::thumb_w[k_sh_max_books] |
| int32_t sh_state_t::toc_scroll |
| uint32_t sh_state_t::touch_down_ms |
ra8_time_ms() timestamp at the current press start.
| int32_t sh_state_t::touch_down_x |
| int32_t sh_state_t::touch_down_y |