43 if (screen_goto != NULL) {
47 if (go->
next != NULL) {
48 if (go->
next != screen_current) {
52 screen_current->
on_leave(screen_current);
55 if (screen_current != NULL) {
56 screen_current->
on_leave(screen_current);
57 screen_current->
next = go;
67 if (screen_current != NULL) {
68 screen_current->
on_update(screen_current);
76 if (screen == NULL || screen == screen_current || screen == screen_goto) {
87 if (screen_list == NULL) {
95 while (current->
next != NULL) {
97 current = current->
next;
104 if (current != screen_current) {
SCREEN_CALLBACK on_enter
The Callback which is called when the screen is entered. Add/Register all UI-Elements here...
struct SCREEN_S * next
Used internally. do not modify, do not initialize.
static SCREEN_STRUCT * screen_current
static volatile SCREEN_STRUCT * screen_goto
static SCREEN_STRUCT * screen_list
SCREEN_STRUCT * gui_screen_get_current()
SCREEN_CALLBACK on_leave
The Callback which is called when the screen is left. Remove/Unregister all UI-Elements here...
bool gui_screen_navigate(SCREEN_STRUCT *screen)
static SCREEN_STRUCT screen
SCREEN_CALLBACK on_update
The Callback which is called repeatedly when the screen should be updated. Update/Redraw all UI-Eleme...