mirror of
https://github.com/m5stack/meshtastic-device-ui.git
synced 2026-05-20 11:51:03 -07:00
50 lines
1.3 KiB
C
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);
|
|
}
|