136 lines
3.7 KiB
C
136 lines
3.7 KiB
C
#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
|