#include "include.h" #include "func.h" #include "app_variable.h" #if TRACE_EN #define TRACE(...) printf(__VA_ARGS__) #else #define TRACE(...) #endif typedef struct f_volume_t_ { } f_volume_t; enum { //按键 COMPO_ID_BTN_REDUCE = 1, COMPO_ID_BTN_INCREASE, //图像 COMPO_ID_PIC_LEVEL1, //等级 1~5 COMPO_ID_PIC_LEVEL2, COMPO_ID_PIC_LEVEL3, COMPO_ID_PIC_LEVEL4, COMPO_ID_PIC_LEVEL5, COMPO_ID_PIC_REDUCE_CLICK, //按钮触摸效果图 COMPO_ID_PIC_INCREASE_CLICK, }; typedef struct volume_disp_pic_item_t_ { u32 res_addr; u16 pic_id; s16 x; s16 y; bool visible_en; } volume_disp_pic_item_t; #define VOLUME_DISP_PIC_ITEM_CNT ((int)(sizeof(tbl_volume_disp_pic_item) / sizeof(tbl_volume_disp_pic_item[0]))) //图片item,创建时遍历一下 static const volume_disp_pic_item_t tbl_volume_disp_pic_item[] = { {UI_BUF_COMMON_BG2_BIN, COMPO_ID_PIC_LEVEL1, 108, GUI_SCREEN_CENTER_Y + 20, false}, {UI_BUF_COMMON_BG2_BIN, COMPO_ID_PIC_LEVEL2, 134, GUI_SCREEN_CENTER_Y + 20, false}, {UI_BUF_COMMON_BG2_BIN, COMPO_ID_PIC_LEVEL3, 160, GUI_SCREEN_CENTER_Y + 20, false}, {UI_BUF_COMMON_BG2_BIN, COMPO_ID_PIC_LEVEL4, 186, GUI_SCREEN_CENTER_Y + 20, false}, {UI_BUF_COMMON_BG2_BIN, COMPO_ID_PIC_LEVEL5, 212, GUI_SCREEN_CENTER_Y + 20, false}, }; //创建调节音量窗体 compo_form_t *func_volume_form_create(void) { //新建窗体和背景 compo_form_t *frm = compo_form_create(true); // compo_form_add_image(frm, UI_BUF_COMMON_BG1_BIN, GUI_SCREEN_CENTER_X, GUI_SCREEN_CENTER_Y + 20); compo_form_add_image(frm, UI_BUF_ICON_VOLUME_BIN, GUI_SCREEN_CENTER_X, GUI_SCREEN_CENTER_Y - 50); //设置标题栏 compo_form_set_mode(frm, COMPO_FORM_MODE_SHOW_TITLE | COMPO_FORM_MODE_SHOW_TIME); compo_form_set_title(frm, i18n[STR_VOLUME]); //新建按钮 compo_button_t *btn; btn = compo_button_create_by_image(frm, UI_BUF_COMMON_REDUCE_BIN); compo_setid(btn, COMPO_ID_BTN_REDUCE); compo_button_set_pos(btn, 54,GUI_SCREEN_CENTER_Y+ 20); btn = compo_button_create_by_image(frm, UI_BUF_COMMON_INCREASE_BIN); compo_setid(btn, COMPO_ID_BTN_INCREASE); compo_button_set_pos(btn, 200, GUI_SCREEN_CENTER_Y+ 20); //新建图像 compo_picturebox_t *pic_level[5]; for (u8 idx = 0; idx < VOLUME_DISP_PIC_ITEM_CNT; idx++) { pic_level[idx] = compo_picturebox_create(frm, tbl_volume_disp_pic_item[idx].res_addr); compo_setid(pic_level[idx], tbl_volume_disp_pic_item[idx].pic_id); compo_picturebox_set_pos(pic_level[idx], tbl_volume_disp_pic_item[idx].x, tbl_volume_disp_pic_item[idx].y); compo_picturebox_set_visible(pic_level[idx], tbl_volume_disp_pic_item[idx].visible_en); } // compo_picturebox_t *pic_button; // pic_button = compo_picturebox_create(frm, UI_BUF_COMMON_REDUCE_CLICK_BIN); // compo_setid(pic_button, COMPO_ID_PIC_REDUCE_CLICK); // compo_picturebox_set_pos(pic_button, 54, 309); // compo_picturebox_set_visible(pic_button, GUI_SCREEN_CENTER_Y + 20); // pic_button = compo_picturebox_create(frm, UI_BUF_COMMON_INCREASE_CLICK_BIN); // compo_setid(pic_button, COMPO_ID_PIC_INCREASE_CLICK); // compo_picturebox_set_pos(pic_button, 200, GUI_SCREEN_CENTER_Y + 20); // compo_picturebox_set_visible(pic_button, false); compo_picturebox_set_visible(pic_level[0], true); for (u8 i=0; i 0 && SysVariable.vol <= VOL_MAX) { SysVariable.vol -= 4; } break; case COMPO_ID_BTN_INCREASE: if (SysVariable.vol >= 0 && SysVariable.vol < VOL_MAX) { SysVariable.vol += 4; } break; default: break; } for (u8 i=0; i