mcu_ab568x/app/projects/AB5681F_240_64M/functions/func_clock.h
2025-05-30 18:03:10 +08:00

136 lines
3.7 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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