mirror of https://github.com/jetkvm/kvm.git
72 lines
1.3 KiB
C
72 lines
1.3 KiB
C
#if defined(EEZ_FOR_LVGL)
|
|
#include <eez/core/vars.h>
|
|
#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 <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];
|
|
}
|
|
|
|
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
|