#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(); }