#include "includes.h" /* ============================== * 0902 ???????????·Ú / ???????? / ?????? / ??????? * ?? 214x40????????? 50???????????? / ????? / ????? * ============================== */ #define SET_ROW_X 13 #define SET_ROW_W 214 #define SET_ROW_H 40 #define SET_ROW_Y0 42 #define SET_ROW_PITCH 50 extern const Touch_AreaTypeDef *pCurrentTouch_Area; const Touch_AreaTypeDef Touch_SystemSetting_Areas[] = { /* ??? / ????????????????? Flag -1/+1???·Ú??? */ { 13, 119, SET_ROW_Y0 + SET_ROW_PITCH, SET_ROW_Y0 + SET_ROW_PITCH + SET_ROW_H - 1, -1, 0, GUI_BLUETOOTH_SW, NULL }, { 120, 227, SET_ROW_Y0 + SET_ROW_PITCH, SET_ROW_Y0 + SET_ROW_PITCH + SET_ROW_H - 1, 1, 0, GUI_BLUETOOTH_SW, NULL }, { 13, 119, SET_ROW_Y0 + SET_ROW_PITCH * 2, SET_ROW_Y0 + SET_ROW_PITCH * 2 + SET_ROW_H - 1, -1, 0, GUI_AUTOCLOSE, NULL }, { 120, 227, SET_ROW_Y0 + SET_ROW_PITCH * 2, SET_ROW_Y0 + SET_ROW_PITCH * 2 + SET_ROW_H - 1, 1, 0, GUI_AUTOCLOSE, NULL }, { 13, 227, SET_ROW_Y0 + SET_ROW_PITCH * 3, SET_ROW_Y0 + SET_ROW_PITCH * 3 + SET_ROW_H - 1, 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, 1, GUI_BLUETOOTH_SW}, { 0, 1, 3, GUI_AUTOCLOSE}, { 0, 0, 1, GUI_RESTORE}, }; LEBEL_UI SystemSetting[] = { /* ????·Ú */ {SET_ROW_X, SET_ROW_W, SET_ROW_Y0, SET_ROW_H, (const uint8_t*)"\xB9\xCC\xBC\xFE\xB0\xE6\xB1\xBE", LCD_ALIGN_LEFT, WHITE, BLACK, 13, LCD_ALIGN_CENTER, WHITE, BLACK, 11, GUI_VERSION}, /* ????????????????????????¨¢????¦Ì?????????????????¦Ï?????????? */ {SET_ROW_X, SET_ROW_W, SET_ROW_Y0 + SET_ROW_PITCH, SET_ROW_H, (const uint8_t*)"\xC0\xB6\xD1\xC0\xC1\xAC\xBD\xD3", LCD_ALIGN_LEFT, WHITE, BLACK, 13, LCD_ALIGN_CENTER, WHITE, BLACK, 11, GUI_BLUETOOTH_SW}, {SET_ROW_X, SET_ROW_W, SET_ROW_Y0 + SET_ROW_PITCH*2, 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, SET_ROW_Y0 + SET_ROW_PITCH*3, 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)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], FLAG >= 0 ? 1 : -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*)"\xCF\xB5\xCD\xB3\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; } }