#include "includes.h" /* ============================== * 0902 设置页:4 行列表(蓝牙设置/自动关机/恢复出厂设置/版本信息) * 行 214x33,纵向间距 46;底栏:返回 / 调音台 / 模式选择 * ============================== */ #define SET_ROW_X 13 #define SET_ROW_W 214 #define SET_ROW_H 33 extern const Touch_AreaTypeDef *pCurrentTouch_Area; const Touch_AreaTypeDef Touch_SystemSetting_Areas[] = { // Xmin, Xmax, Ymin, Ymax, flag, Value, ID, action { 13, 227, 42, 75, 1, 0, GUI_BLUETOOTH_SW, NULL }, { 13, 227, 88, 121, 1, 0, GUI_AUTOCLOSE, NULL }, { 13, 227, 134, 167, 0, 0, GUI_RESTORE, NULL }, { 0, 79, 280, 319, 0, UI0902_NAV_SETTING, GUI_NAV_BAR, NULL }, /* 返回 */ { 80, 159, 280, 319, 0, UI0902_NAV_MIXER, GUI_NAV_BAR, NULL }, { 160, 239, 280, 319, 0, UI0902_NAV_MODE, GUI_NAV_BAR, NULL }, }; #define TOUCH_AREA_SYSTEMSETTING_NUM (sizeof(Touch_SystemSetting_Areas)/sizeof(Touch_AreaTypeDef)) GUI_SWITCH mGuiData_SystemSETTING[] = { { 0, 0, 2, GUI_VERSION}, // 0 { 0, 0, 1, GUI_BLUETOOTH_SW}, { 0, 1, 3, GUI_AUTOCLOSE}, { 0, 0, 1, GUI_RESTORE}, }; LEBEL_UI SystemSetting[] = { {SET_ROW_X, SET_ROW_W, 180, SET_ROW_H, (const uint8_t*)"\xB0\xE6\xB1\xBE\xD0\xC5\xCF\xA2", LCD_ALIGN_LEFT, WHITE, BLACK, 13, LCD_ALIGN_CENTER, WHITE, BLACK, 11, GUI_VERSION}, {SET_ROW_X, SET_ROW_W, 42, SET_ROW_H, (const uint8_t*)"\xC0\xB6\xD1\xC0\xC9\xE8\xD6\xC3", LCD_ALIGN_LEFT, WHITE, BLACK, 13, LCD_ALIGN_CENTER, WHITE, BLACK, 11, GUI_BLUETOOTH_SW}, {SET_ROW_X, SET_ROW_W, 88, SET_ROW_H, (const uint8_t*)"\xD7\xD4\xB6\xAF\xB9\xD8\xBB\xFA", LCD_ALIGN_LEFT, WHITE, BLACK, 13, LCD_ALIGN_CENTER, WHITE, BLACK, 11, GUI_AUTOCLOSE}, {SET_ROW_X, SET_ROW_W, 134, SET_ROW_H, (const uint8_t*)"\xBB\xD6\xB8\xB4\xB3\xF6\xB3\xA7\xC9\xE8\xD6\xC3", LCD_ALIGN_LEFT, WHITE, BLACK, 13, LCD_ALIGN_CENTER, WHITE, BLACK, 11, GUI_RESTORE}, }; void DrawSystemSetting(void) { Draw_System_Item_List(&SystemSetting[GUI_VERSION],&mGuiData_SystemSETTING[GUI_VERSION]); Draw_System_Item_List(&SystemSetting[GUI_BLUETOOTH_SW],&mGuiData_SystemSETTING[GUI_BLUETOOTH_SW]); Draw_System_Item_List(&SystemSetting[GUI_AUTOCLOSE],&mGuiData_SystemSETTING[GUI_AUTOCLOSE]); Draw_System_Item_List(&SystemSetting[GUI_RESTORE],&mGuiData_SystemSETTING[GUI_RESTORE]); } // ============================== // 触摸处理 // ============================== void Touch_SystemSettingAction(int8_t FLAG, uint8_t ID, uint8_t areaIndex, uint8_t value) { uint16_t last_value; (void)FLAG; (void)areaIndex; if (ID == GUI_NAV_BAR) { switch (value) { case UI0902_NAV_SETTING: UI_GotoCurrentModePage(); break; /* 返回当前模式页 */ case UI0902_NAV_MIXER: MenuPage_Mixer_Proc(); break; case UI0902_NAV_MODE: UI_ReturnToModeSelect(); break; default: break; } return; } last_value = mGuiData_SystemSETTING[ID].Current; switch(ID) { case GUI_BLUETOOTH_SW: mGuiData_SystemSETTING[ID].Current = !mGuiData_SystemSETTING[ID].Current; if (!UI_SetFocus(ID)) RefreshSystemSetting(last_value, &SystemSetting[ID], &mGuiData_SystemSETTING[ID]); break; case GUI_AUTOCLOSE: GUI_Item_AjustLoopValue(&mGuiData_SystemSETTING[ID], 1); if (!UI_SetFocus(ID)) RefreshSystemSetting(last_value, &SystemSetting[ID], &mGuiData_SystemSETTING[ID]); break; case GUI_RESTORE: MenuPage_Restore_Proc(); break; default: break; } } void UI_Setting_Init(void) { UI_ClearFocus(); LCD_FillByColor(0, 0, 240, 320, UI0902_BG_COLOR); LCD_ShowChinese_AutoAlign(0, 240, 8, (const uint8_t*)"\xC9\xE8\xD6\xC3", LCD_ALIGN_CENTER, WHITE, UI0902_BG_COLOR, 0, 16); DrawSystemSetting(); Draw_Bottom_Bar(UI0902_NAV_NONE, 1); pCurrentTouch_Area = Touch_SystemSetting_Areas; } void UI_Setting_Process(DisplayTaskMessage_Type msg) { switch(msg.MessageType) { case MSG_ID_TOUCH : for(uint8_t k=0; k= pCurrentTouch_Area[k].x_min && msg.HiByte <= pCurrentTouch_Area[k].x_max && msg.LoByte >= pCurrentTouch_Area[k].y_min && msg.LoByte <= pCurrentTouch_Area[k].y_max ) { Touch_SystemSettingAction(pCurrentTouch_Area[k].Flag,pCurrentTouch_Area[k].ID,k,pCurrentTouch_Area[k].Value); ResetAutoPowerCount(); break; } } break; case MSG_ID_EC_VOL: break; } }