MXC-A36-Demo/Demo/lv_user_code/mode/spde_ipc.c

148 lines
3.3 KiB
C
Raw Permalink Normal View History

#include "spde_ipc.h"
static uint8_t spde_ui_mode = UI_MODE_NORMAL;
static lv_obj_t * g_parent_root_win=NULL; //屏幕 适用于弹窗
lv_timer_t * ui_refresh_timer = NULL; //ui刷新定时器
lv_timer_t * time_refresh_timer = NULL; //时间刷新定时器
lv_group_t *scr_key_group = NULL; //按键组
//lv_coord_t child_id = 0;
lv_obj_t *scr_parent_main = NULL;
lv_obj_t * clean_root_win(void);
lv_obj_t * get_root_win(void);
void init_root_win(void);
void spde_ipc_set_ui_mode(uint8_t mode)
{
spde_ui_mode = mode;
}
uint8_t spde_ipc_get_ui_mode(void)
{
return spde_ui_mode;
}
void creatRootObj(void){
if (scr_parent_main)
{
lv_obj_del(scr_parent_main);
scr_parent_main = NULL;
}
scr_parent_main = lv_obj_create(lv_scr_act());
lv_obj_set_style_pad_all(scr_parent_main, 0, 0);
lv_obj_set_style_border_width(scr_parent_main, 0, 0);
lv_obj_set_size(scr_parent_main, LV_PCT(100), LV_PCT(100));
lv_obj_set_scrollbar_mode(scr_parent_main, LV_SCROLLBAR_MODE_ACTIVE);
lv_obj_clear_flag(scr_parent_main, LV_OBJ_FLAG_SCROLL_ELASTIC);
}
lv_obj_t * clean_root_win(void)
{
printf("clean_root_win \r\n");
if(g_parent_root_win)
{
lv_obj_clean(g_parent_root_win);
}
lv_obj_set_style_pad_all(g_parent_root_win, 0, 0);
lv_obj_set_size(g_parent_root_win, LV_PCT(100), LV_PCT(100));
}
lv_obj_t * get_root_win(void)
{
printf("get_root_win \r\n");
if(g_parent_root_win==NULL)
{
init_root_win();
}
return g_parent_root_win;
}
lv_obj_t * del_root_win(void)
{
printf("del_root_win \r\n");
if(g_parent_root_win)
lv_obj_del(g_parent_root_win);
g_parent_root_win=NULL;
}
void init_root_win(void)//Ö÷ÆÁÄ»³õʼ»¯
{
printf("init_root_win %x \r\n",g_parent_root_win);
if(g_parent_root_win==NULL)
{
g_parent_root_win=lv_obj_create(lv_scr_act());
}else{
del_root_win();
g_parent_root_win=lv_obj_create(lv_scr_act());
}
printf("init_root_win %x \r\n",g_parent_root_win);
if(g_parent_root_win){
lv_obj_set_style_pad_all(g_parent_root_win, 0, 0);
lv_obj_set_size(g_parent_root_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_bg_color(g_parent_root_win, lv_color_make(0x00,0x00,0x00), 0);
lv_obj_set_scrollbar_mode(g_parent_root_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_style_radius(g_parent_root_win, 0, 0);
lv_obj_set_style_border_width(g_parent_root_win, 0, LV_PART_MAIN);
lv_obj_set_style_border_color(g_parent_root_win, lv_color_black(), 0);
}
}
lv_timer_t *get_ui_refresh_timer(void)
{
close_ui_refresh_timer();
return ui_refresh_timer;
}
void close_ui_refresh_timer(void)
{
if (ui_refresh_timer != NULL)
{
lv_timer_del(ui_refresh_timer);
ui_refresh_timer = NULL;
}
}
lv_timer_t * get_time_refresh_timer(){
close_refresh_timer();
return time_refresh_timer;
}
void close_refresh_timer(){
if(time_refresh_timer !=NULL){
lv_timer_del(time_refresh_timer);
time_refresh_timer = NULL;
}
}
lv_group_t * get_key_group(){
if(scr_key_group ==NULL){
scr_key_group = lv_group_create();
lv_win32_add_all_input_devices_to_group(scr_key_group);
}
return scr_key_group;
}
void close_all_win(void)
{
printf("close_all_win\r\n");
clean_root_win();
}