mcu_ab568x/userboot240328/app/projects/AB5681G_320/functions/func_call.c
2025-05-30 18:03:10 +08:00

207 lines
5.4 KiB
C

#include "include.h"
#include "func.h"
enum {
COMPO_ID_BTN_CALL = 1,
COMPO_ID_BTN_INCOMING,
COMPO_ID_BTN_REJECT,
COMPO_ID_BTN_MSG,
COMPO_ID_BTN_DEL,
COMPO_ID_BTN_NUM0,
COMPO_ID_BTN_NUM1,
COMPO_ID_BTN_NUM2,
COMPO_ID_BTN_NUM3,
COMPO_ID_BTN_NUM4,
COMPO_ID_BTN_NUM5,
COMPO_ID_BTN_NUM6,
COMPO_ID_BTN_NUM7,
COMPO_ID_BTN_NUM8,
COMPO_ID_BTN_NUM9,
};
typedef struct f_call_t_ {
} f_call_t;
//打电话页面
compo_form_t *func_call_form_create(void)
{
compo_button_t *btn;
//新建窗体
compo_form_t *frm = compo_form_create(true);
//创建按钮
btn = compo_button_create_by_image(frm, UI_BUF_COMMON_1_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_NUM1);
compo_button_set_pos(btn, 61, 110);
btn = compo_button_create_by_image(frm, UI_BUF_COMMON_2_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_NUM2);
compo_button_set_pos(btn, 160, 110);
btn = compo_button_create_by_image(frm, UI_BUF_COMMON_3_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_NUM3);
compo_button_set_pos(btn, 259, 110);
btn = compo_button_create_by_image(frm, UI_BUF_COMMON_4_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_NUM4);
compo_button_set_pos(btn, 61, 183);
btn = compo_button_create_by_image(frm, UI_BUF_COMMON_5_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_NUM5);
compo_button_set_pos(btn, 160, 183);
btn = compo_button_create_by_image(frm, UI_BUF_COMMON_6_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_NUM6);
compo_button_set_pos(btn, 259, 183);
btn = compo_button_create_by_image(frm, UI_BUF_SETTING_PASSWORD_7_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_NUM7);
compo_button_set_pos(btn, 61, 256);
btn = compo_button_create_by_image(frm, UI_BUF_COMMON_8_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_NUM8);
compo_button_set_pos(btn, 160, 256);
btn = compo_button_create_by_image(frm, UI_BUF_SETTING_PASSWORD_FRAME_755_BIN);
compo_setid(btn, COMPO_ID_BTN_NUM9);
compo_button_set_pos(btn, 259, 256);
btn = compo_button_create_by_image(frm, UI_BUF_SETTING_PASSWORD_9_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_NUM0);
compo_button_set_pos(btn, 160, 329);
btn = compo_button_create_by_image(frm, UI_BUF_SETTING_PASSWORD_DEL_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_DEL);
compo_button_set_pos(btn, 259, 329);
btn = compo_button_create_by_image(frm, UI_BUF_CALL_CALL_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_CALL);
compo_button_set_pos(btn, 61, 329);
return frm;
}
//创建来电窗体,创建窗体中不要使用功能结构体 func_cb.f_cb
compo_form_t *func_call_answer_form_create(void)
{
compo_button_t *btn;
//新建窗体
compo_form_t *frm = compo_form_create(true);
//来电按钮
btn = compo_button_create_by_image(frm, UI_BUF_CALL_ANSWER_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_INCOMING);
compo_button_set_pos(btn, 70, 279);
//挂电话按钮
btn = compo_button_create_by_image(frm, UI_BUF_CALL_REJECT_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_REJECT);
compo_button_set_pos(btn, 250, 279);
//信息按钮
btn = compo_button_create_by_image(frm, UI_BUF_CALL_MES_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_MSG);
compo_button_set_pos(btn, 160, 315);
//创建消息文本
compo_textbox_t *txt = compo_textbox_create(frm, 2);
compo_textbox_set_location(txt,160, 335, 100, 60);
compo_textbox_set(txt,"信息");
return frm;
}
//创建接通窗体,创建窗体中不要使用功能结构体 func_cb.f_cb
compo_form_t *func_calling_form_create(void)
{
compo_button_t *btn;
//新建窗体
compo_form_t *frm = compo_form_create(true);
//新建按钮
btn = compo_button_create_by_image(frm, UI_BUF_CALL_MUTE_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_CALL);
compo_button_set_pos(btn, 49, 313);
btn = compo_button_create_by_image(frm, UI_BUF_CALL_REJECT_CLICK_BIN);
compo_setid(btn, COMPO_ID_BTN_REJECT);
compo_button_set_pos(btn, 160, 313);
return frm;
}
//进入打电话界面
static void func_call_enter(void)
{
func_cb.f_cb = func_zalloc(sizeof(f_call_t));
func_cb.frm_main = func_call_form_create();
}
//子功能公共事件处理
void func_call_sub_process(void)
{
func_process(); //刷新UI
}
//子功能公共消息处理
void func_call_sub_message(size_msg_t msg)
{
}
//电话功能事件处理
static void func_call_process(void)
{
func_process(); //刷新UI
}
//退出电话表盘功能
static void func_call_exit(void)
{
func_cb.last = FUNC_CALL;
}
static void func_call_button_click(void)
{
int id = compo_get_button_id();
switch (id) {
case COMPO_ID_BTN_INCOMING:
break;
case COMPO_ID_BTN_REJECT:
break;
default:
break;
}
}
//电话消息处理
static void func_call_message(size_msg_t msg)
{
switch (msg) {
case MSG_CTP_CLICK:
func_call_button_click(); //单击按钮
break;
default:
func_message(msg);
break;
}
}
//电话显示界面
void func_call(void)
{
printf("%s\n", __func__);
func_call_enter();
while (func_cb.sta == FUNC_CALL) {
func_call_process();
func_call_message(msg_dequeue());
}
func_call_exit();
}