Muteki
EABI code execution on Besta® RTOS devices.
Loading...
Searching...
No Matches
appview.h
Go to the documentation of this file.
1/*
2 * Copyright 2026 dogtopus
3 * SPDX-License-Identifier: MIT
4 */
5
10
11#ifndef __MUTEKI_UI_TYPES_APPVIEW_H__
12#define __MUTEKI_UI_TYPES_APPVIEW_H__
13
14#include "framework.h"
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
55
87typedef struct ui_appview_s ui_appview_t;
88
92struct ui_appview_s {
94 * @brief @x_term{superc}
95 */
100 unsigned short item_count;
104 unsigned short first_visible_item;
113 short unk_0x3a;
125 unsigned short icon_width;
129 unsigned short icon_height;
141 unsigned short column_count;
145 unsigned short page_capacity;
149 ui_appview_item_t *page_items; /* +0x4c: owned page_capacity-entry cache */
153 unsigned short reload_pending;
158 unsigned short appview_flags;
163 unsigned short font_type;
167 short unk_0x56;
172 void (*on_relayout)(ui_appview_t *self);
186 void (*on_draw_item)(ui_appview_t *self, short x, short y, unsigned short page_slot);
196 ui_appview_t *self,
197 short x0,
198 short y0,
199 short x1,
200 short y1,
201 unsigned short page_slot
202 );
212 ui_appview_t *self,
213 short x0,
214 short y0,
215 short x1,
216 short y1,
217 unsigned short page_slot
218 );
219};
220
221#ifdef __cplusplus
222} // extern "C"
223#endif
224
225#endif // __MUTEKI_UI_TYPES_APPVIEW_H__
#define UTF16
"Portable" Besta UTF-16 type used by other headers.
Definition common.h:54
UI framework type (component, group, event) definitions.
struct ui_component_s ui_component_t
ui_component_s
Definition framework.h:71
App view item entry type.
Definition appview.h:59
char unk_0x10[0x10]
Unknown. Seems unused.
Definition appview.h:81
const UTF16 * label
UTF-16 encoded text label of the icon.
Definition appview.h:77
lcd_surface_t * icon
Optional icon.
Definition appview.h:69
int unk_0x08
Unknown. Seems unused.
Definition appview.h:73
int item_id
Item ID.
Definition appview.h:65
App view struct.
Definition appview.h:94
ui_component_t component
The inherited component struct.
Definition appview.h:96
unsigned short icon_width
Computed width of specifically the icon.
Definition appview.h:125
unsigned short item_count
Total number of entries. Used for paging.
Definition appview.h:100
void(*) on_load_page(ui_appview_t *self)
Load page callback.
Definition appview.h:178
short vertical_gap
Computed vertical gap size.
Definition appview.h:137
unsigned short reload_pending
Whether to refresh the page before draw/input.
Definition appview.h:153
unsigned short page_capacity
Computed page capacity (max. 12).
Definition appview.h:145
short unk_0x56
Unknown. Seems unused.
Definition appview.h:167
short horizontal_gap
Computed horizontal gap size.
Definition appview.h:133
ui_appview_item_t * page_items
Pointer to array of page items.
Definition appview.h:149
short unk_0x3a
Unknown. Seems unused.
Definition appview.h:113
void(*) on_draw_item(ui_appview_t *self, short x, short y, unsigned short page_slot)
Draw item callback.
Definition appview.h:186
unsigned short first_visible_item
Absolute index of the first entry on the current page.
Definition appview.h:104
unsigned short font_type
Font type.
Definition appview.h:163
void(*) on_draw_icon(ui_appview_t *self, short x0, short y0, short x1, short y1, unsigned short page_slot)
Draw icon callback.
Definition appview.h:195
unsigned short icon_height
Computed height of specifically the icon.
Definition appview.h:129
unsigned short column_count
Computed number of columns.
Definition appview.h:141
short item_width
Computed width of the item (including the label and the icon).
Definition appview.h:117
short item_height
Computed height of the item (including the label and the icon).
Definition appview.h:121
short selected_page_slot
Current selection on the page.
Definition appview.h:109
void(*) on_relayout(ui_appview_t *self)
Relayout callback.
Definition appview.h:172
void(*) on_draw_label(ui_appview_t *self, short x0, short y0, short x1, short y1, unsigned short page_slot)
Draw label callback.
Definition appview.h:211
unsigned short appview_flags
Flags.
Definition appview.h:158
struct ui_appview_s ui_appview_t
App view type.
Definition appview.h:89
struct ui_appview_item_s ui_appview_item_t
App view item entry type.
ui_appview_flag_e
App view flags.
Definition appview.h:25
@ UI_APPVIEW_EMIT_EVENT_ON_SELECT
Emit event to the parent deskbox instead of exiting the parent deskbox.
Definition appview.h:53
@ UI_APPVIEW_LAYOUT_ICON_COLUMNS
Use 2x6 column-major list layout with icons.
Definition appview.h:41
@ UI_APPVIEW_MOD_HIDE_SHORTCUT_LABELS
Do not draw the shortcut labels.
Definition appview.h:45
@ UI_APPVIEW_LAYOUT_COMPACT_COLUMNS
Use compact 2x6 column-major list layout.
Definition appview.h:37
@ UI_APPVIEW_LAYOUT_TILE_GRID
Use the 4x3 tile grid layout (home-menu-like).
Definition appview.h:33
@ UI_APPVIEW_LAYOUT_DEFAULT
Use the 1x12 list layout.
Definition appview.h:29
@ UI_APPVIEW_MOD_DRAW_GRID_LINES
Draw grid lines.
Definition appview.h:49
Surface type definitions.
struct lcd_surface_s lcd_surface_t
Descriptor of an LCD drawing surface or hardware framebuffer.