#ifndef _FUNC_CLOCK_H #define _FUNC_CLOCK_H #define DP_HEADER_FORMAT 0x4657 #define DP_HEADER sizeof(dp_header_t) #define DP_RES_HEADER sizeof(dp_res_t) #define UI_BUF_WATCH_DIY 0xffffffff // 特殊表盘个数 enum { SPECIAL_CLOCK_START = 0, #ifdef __SPECIAL_CLOCK_0002_240X296__ SPECIAL_CLOCK2 = 0, #endif #ifdef __SPECIAL_CLOCK_0001_240X296__ SPECIAL_CLOCK1 = 2, #endif SPECIAL_CLOCK_END, }; enum { //按键 COMPO_ID_BTN_ISLAND_RECT = 100, COMPO_ID_BTN_ISLAND_BG, COMPO_ID_PIC_ISLAND_ICON, COMPO_ID_PIC_ISLAND_RED_REMIND, COMPO_ID_TXT_ISLAND_NOTICE, COMPO_ID_PIC_ISLAND_NUMBER, // 点击时数字控件中的内容加1,在特定时间内又自动还原 COMPO_ID_PIC_ISLAND_NUMBER_CLICK, // 点击的数字控件位置 COMPO_ID_PIC_ISLAND_NUMBER1, // 点击时可能需要用到两个数字控件中的内容加1,不会自动还原 COMPO_ID_PIC_ISLAND_NUMBER2, // 点击时可能需要用到三个数字控件中的内容加1,不会自动还原 COMPO_ID_PIC_ISLAND_BG, COMPO_ID_PIC_ISLAND_BG1, COMPO_ID_PIC_ISLAND_BG2, COMPO_ID_PIC_ISLAND_BG3, COMPO_ID_PIC_ISLAND_BG4, COMPO_ID_PIC_ISLAND_BG5, COMPO_ID_PIC_ISLAND_BG6, COMPO_ID_PIC_ISLAND_BG7, COMPO_ID_PIC_ISLAND_BG8, COMPO_ID_PIC_NUM_MON, //月份 COMPO_ID_PIC_NUM_DAY, //号数 COMPO_ID_PIC_NUM_HOUR, COMPO_ID_PIC_NUM_MIN, COMPO_ID_PIC_NUM_SEC, COMPO_ID_PIC_NUM_WEEK, COMPO_ID_PIC_NUM_HEART, COMPO_ID_PIC_NUM_STEP, COMPO_ID_PIC_NUM_KCAL, COMPO_ID_PIC_NUM_KM, COMPO_ID_PIC_NUM_BAT, COMPO_ID_PIC_NUM_BAT_ICON, COMPO_ID_PIC_LINDONG_MUSIC, /* 动态数字表盘ID */ #ifdef CLOCK_DYNAMIC_NUMBER /* PAGE ID */ COMPO_ID_PAGE_BG, COMPO_ID_PAGE_TIME_HOUR1, COMPO_ID_PAGE_TIME_HOUR2, COMPO_ID_PAGE_TIME_MINUTE1, COMPO_ID_PAGE_TIME_MINUTE2, /* PAGE ID */ COMPO_ID_PAGEBODY_BG, COMPO_ID_PAGEBODY_TIME_HOUR1, COMPO_ID_PAGEBODY_TIME_HOUR2, COMPO_ID_PAGEBODY_TIME_MINUTE1, COMPO_ID_PAGEBODY_TIME_MINUTE2, #endif }; enum { FUNC_CLOCK_MAIN, FUNC_CLOCK_SUB_DROPDOWN, FUNC_CLOCK_SUB_PULLUP, FUNC_CLOCK_SUB_SIDE, FUNC_CLOCK_SUB_ROTARY, }; typedef struct f_clock_t_ { u8 sta; u8 switch_to; u8 animation_id; compo_form_t *sub_frm; void *sub_cb; compo_shape_t *masklayer; bool fish_flag; //用于判断是否点击按钮的标志位 u32 icon_show_time; //用于部分特殊组件在不同时间做不同操作 s16 size_bg; //bg图size按照规律进行放大缩小 s16 size_bg1; //bg图size按照规律进行放大缩小 u16 size_bg2; u16 size_bg3; u16 size_bg4; bool fish_flag1; bool fish_flag2; bool fish_flag3; u8 alipay_band; u32 start_time; u32 end_time; u8 back_click; //表盘界面点击back次数 bool qdec_flag; //转动编码器标志位 u32 qdec_time; u8 lindong_music_num; } f_clock_t; //主窗体 void func_clock_sub_process(void); void func_clock_custom_process(void); void func_clock_sub_message(size_msg_t msg); //子菜单 void func_clock_sub_dropdown(size_msg_t msg); void func_clock_sub_pullup(void); void func_clock_sub_side(void); void func_clock_sub_shortcut(void); //表盘转盘 void func_clock_sub_rotary(void); void special_customs_clock_button_click_0002_240X296(u16 btn_id); void special_customs_clock_0002_240X296(compo_form_t *frm); void special_customs_clock_process_0002_240X296(void); extern void func_clock_sub_message_move_tip_update(void); #ifdef CLOCK_DYNAMIC_NUMBER extern void func_dynamic_figure_clock_click(void); extern void func_dynamic_figure_clock_process(void); extern compo_form_t *func_dynamic_figure_clock_create(void); #endif #endif