MXC-A36-Demo/Demo/lv_user_code/include/moto_list.h

149 lines
3.9 KiB
C
Raw Permalink Normal View History

#ifndef __MOTO_LIST_H__
#define __MOTO_LIST_H__
#include "lan_str_table.h"
#define MAINMENU_ICON_WIDTH_UNCHECK 100
#define MAINMENU_ICON_HEIGHT_UNCHECK 100
#define MAINMENU_ICON_WIDTH_CHECK 110
#define MAINMENU_ICON_HEIGHT_CHECK 110
#define ICON_RING_Y 30
#define ICON_RING_1_X 0
#define ICON_RING_2_X 105
#define ICON_RING_3_X 210
#define ICON_IMG_Y 35+40
#define ICON_IMG_1_X 5+20+20
#define ICON_IMG_2_X 110+30+20+20+10
#define ICON_IMG_3_X 215+60+20+20+20
#define COMMON_PER_PAGE_NUM 3
#define COMMON_PAGE_ITEM_NUM 3
#define LAST_PAGE_ITEM_NUM 1
#define WIN_SIZE_WIDTH_PCT 100
#define WIN_SIZE_HEIGHT_PCT 100
#define RADIUS_RECT 0
typedef enum _ENUM_MAINMENU_ITEM_ID_
{
MAINMENU_ITEM_ID_THEME,
MAINMENU_ITEM_ID_LIGHT,
MAINMENU_ITEM_ID_BLUETOOTH,
MAINMENU_ITEM_ID_OTHER,
MAINMENU_ITEM_ID_INFORMATION,
MAINMENU_ITEM_ID_PRESSURE,
MAINMENU_ITEM_ID_FAULT_CODE,
MAINMENU_ITEM_ID_THEME_SELECT,
MAINMENU_ITEM_ID_THEME_BG,
MAINMENU_ITEM_ID_OTHER_TIME,
MAINMENU_ITEM_ID_OTHER_LANGUAGE,
MAINMENU_ITEM_ID_OTHER_UINT,
// MAINMENU_ITEM_ID_LIST_RETURN,
MAINMENU_ITEM_ID_MAX,
} ENUM_MAINMENU_ITEM_ID;
typedef struct
{
bool flag;
uint8_t win_id;
uint32_t index; //scroll y offset
}PAGE_HISTORY_RECORD_T;
#define HISTORY_WIN_LEVEL 5
typedef struct
{
PAGE_HISTORY_RECORD_T page_record[HISTORY_WIN_LEVEL];
uint8_t hu01_cur_page_record;
uint8_t hu01_cur_btn_record;
uint8_t intercom_page_record;
uint8_t intercom_cur_btn_record;
uint8_t ws01_cur_page_record;
uint8_t ws01_cur_btn_record;
ENUM_MAINMENU_ITEM_ID cur_checked_menu_item;
}Local_UiCommon_t;
typedef enum
{
MAINMENU_ICON_ID_THEME,
MAINMENU_ICON_ID_LIGHT,
MAINMENU_ICON_ID_BLUETOOTH,
MAINMENU_ICON_ID_OTHER,
MAINMENU_ICON_ID_INFORMATION,
MAINMENU_ICON_ID_PRESSURE,
MAINMENU_ICON_ID_FAULT_CODE,
MAINMENU_ICON_ID_RETURN,
MAINMENU_ICON_ID_MAX,
} MAINMENU_ICON_ID_ENUM;
//typedef enum _ENUM_EQUIPMENT_ID_ {
// EQUIPMENT_ID_THEME = 0,
// EQUIPMENT_ID_LIGHT,
// EQUIPMENT_ID_BLUETOOTH,
// EQUIPMENT_ID_OTHER,
// EQUIPMENT_ID_INFORMATION,
// EQUIPMENT_ID_PRESSURE,
// EQUIPMENT_ID_FAULT_CODE,
// EQUIPMENT_ID_MAX,
//}ENUM_EQUIPMENT_ID;
typedef enum
{
MAINMENU_TILE_ZERO = 0,
MAINMENU_TILE_ONE,
MAINMENU_TILE_TWO,
MAINMENU_TILE_END,
}MAINMENU_TILE_T;
typedef struct
{
lv_obj_t *window_obj;
uint8_t col_id;
uint8_t row_id;
lv_dir_t dir;
void (*Init)();
}mainmenu_tile_t;
//
//
//typedef struct _lv_equipment_list_t{
// const ENUM_EQUIPMENT_ID equipment_id;
// const LAN_STR_ID str;
// bool selected;
// bool is_display;
//}lv_equipment_list_t;
typedef struct _lv_mainmenu_icon_t
{
ENUM_MAINMENU_ITEM_ID mainmenu_item_id;
LAN_STR_ID str_id;
MAINMENU_ICON_ID_ENUM mainmenu_icon_id;
btn_event_func event_handler;
} lv_mainmenu_win_t;
// void init_tile_common(lv_obj_t *mainmenu_btn_win, uint8_t page_num, uint8_t cur_tile_item,char *list_title[]);
// void init_tile_common(lv_obj_t *mainmenu_btn_win, uint8_t page_num, uint8_t cur_tile_item,LAN_STR_ID list_str[]);
void init_tile_common(lv_obj_t *mainmenu_btn_win, uint32_t str_arr[], uint8_t page_num, uint8_t cur_tile_item);
static void key_event_handler(lv_event_t *e);
uint32_t mainmenu_item_process(uint32_t dis_item_arr[MAINMENU_TILE_END][COMMON_PER_PAGE_NUM],
uint32_t *page_num, uint32_t *last_item_pos);
void position_in_array(uint32_t res_arr[MAINMENU_TILE_END][COMMON_PER_PAGE_NUM], uint32_t res[2]);
//ENUM_MAINMENU_ITEM_ID get_mainmenu_item_id_by_strid(ENUM_RES_STR_ID str_id);
extern void theme_create();
extern void light_create();
extern void bluetooth_create();
extern void other_create();
extern void information_create();
extern void pressure_create();
extern void fault_code_create();
extern void demo_return();
#endif