Files
ManuelandGitHub 99171e87a7 feat: node list <-> map navigation (#109)
* allow full size boot logo

* node list <-> map navigation
2025-03-29 19:56:49 +01:00

50 lines
1.3 KiB
C

#include "ui.h"
#include "images.h"
#include <string.h>
static int16_t currentScreen = -1;
static lv_obj_t *getLvglObjectFromIndex(int32_t index) {
if (index == -1) {
return 0;
}
return ((lv_obj_t **)&objects)[index];
}
static const void *getLvglImageByName(const char *name) {
for (size_t imageIndex = 0; imageIndex < sizeof(images) / sizeof(ext_img_desc_t); imageIndex++) {
if (strcmp(images[imageIndex].name, name) == 0) {
return images[imageIndex].img_dsc;
}
}
return 0;
}
void loadScreen(enum ScreensEnum screenId) {
currentScreen = screenId - 1;
lv_obj_t *screen = getLvglObjectFromIndex(currentScreen);
lv_screen_load_anim(screen, LV_SCR_LOAD_ANIM_NONE, 200, 0, false);
}
void ui_init_boot() {
lv_disp_t *dispp = lv_disp_get_default();
lv_theme_t *theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED), false, LV_FONT_DEFAULT);
lv_disp_set_theme(dispp, theme);
create_screen_boot_screen();
create_screen_blank_screen();
loadScreen(SCREEN_ID_BOOT_SCREEN);
}
void ui_init() {
//create_screens();
create_screen_main_screen();
create_screen_lock_screen();
create_screen_calibration_screen();
create_tabview_settings();
}
void ui_tick() {
tick_screen(currentScreen);
}