1 #ifndef SCREEN_MANAGER_H
2 #define SCREEN_MANAGER_H
5 #include <unordered_map>
10 #define PREV_SCREEN_Q_MAX 50
12 #define LOGIN_SCREEN 1
13 #define MEASURING_SCREEN 2
14 #define SELECTION_SCREEN 3
15 #define DETAIL_SCREEN 4
16 #define ADMIN_SELECT_SCREEN 5
17 #define ADMIN_CTRL_SCREEN 6
21 uint8_t selected_screen = 1;
23 std::unordered_map<uint8_t, std::vector<std::unique_ptr<gui_element>>> available_screens;
24 std::vector<uint8_t> prev_screen_stack;
26 void render_screen(std::vector<std::unique_ptr<gui_element>> &elements);
27 bool is_screen_available_to_user(
const uint8_t *screens,
const uint8_t count,
const uint8_t requested);
Paren class for other gui elements.
void clear_previous_screen_stack()
void pop_screen_from_previous()
void set_selected_screen(uint8_t screen)
uint8_t get_screen_count()
void push_screen_to_previous()
void refresh_all_screns()
void set_err_screen_content()
void render_active_screen()
void refresh_screen_elements(uint8_t screen)
uint8_t get_selected_screen()