#if defined(EEZ_FOR_LVGL) #include #endif #include "ui.h" #include "screens.h" #include "images.h" #include "actions.h" #include "vars.h" jetkvm_rpc_handler_t *ui_rpc_handler = NULL; void ui_set_rpc_handler(jetkvm_rpc_handler_t *handler) { ui_rpc_handler = handler; } void ui_call_rpc_handler(const char *method, const char *params) { if (ui_rpc_handler != NULL) { (*ui_rpc_handler)(method, params); } } #if defined(EEZ_FOR_LVGL) void ui_init() { eez_flow_init(assets, sizeof(assets), (lv_obj_t **)&objects, sizeof(objects), images, sizeof(images), actions); } void ui_tick() { eez_flow_tick(); tick_screen(g_currentScreen); } #else #include static int16_t currentScreen = -1; static lv_obj_t *getLvglObjectFromIndex(int32_t index) { if (index == -1) { return 0; } return ((lv_obj_t **)&objects)[index]; } void loadScreen(enum ScreensEnum screenId) { currentScreen = screenId - 1; lv_obj_t *screen = getLvglObjectFromIndex(currentScreen); lv_scr_load(screen); // lv_scr_load_anim(screen, LV_SCR_LOAD_ANIM_FADE_IN, 200, 0, false); } void ui_init() { create_screens(); loadScreen(SCREEN_ID_BOOT_SCREEN); } void ui_tick() { tick_screen(currentScreen); } #endif