#include "includes.h" /* ============================== * 0902 ????????????????? + ????? + ???/?????? + ???? * ============================== */ extern const Touch_AreaTypeDef *pCurrentTouch_Area; const Touch_AreaTypeDef Touch_Restore_Areas[] = { // Xmin, Xmax, Ymin, Ymax, flag, Value, ID, action { 13, 119, 185, 241, 0, 0, 1, NULL }, /* ??? */ { 121, 227, 185, 241, 0, 0, 2, NULL }, /* ??? */ { 0, 59, 280, 319, 0, UI0902_NAV_UNIVERSAL, GUI_NAV_BAR, NULL }, { 60, 119, 280, 319, 0, UI0902_NAV_NORMAL, GUI_NAV_BAR, NULL }, { 120, 179, 280, 319, 0, UI0902_NAV_EXPERT, GUI_NAV_BAR, NULL }, { 180, 239, 280, 319, 0, UI0902_NAV_SETTING, GUI_NAV_BAR, NULL }, }; #define TOUCH_AREA_RESTORE_NUM (sizeof(Touch_Restore_Areas)/sizeof(Touch_AreaTypeDef)) void UI_Restore_Select_Init(void) { UI_ClearFocus(); LCD_FillByColor(0, 0, 240, 320, UI0902_BG_COLOR); LCD_ShowChinese_AutoAlign(0, 240, 8, (uint8_t*)"\xBB\xD6\xB8\xB4\xB3\xF6\xB3\xA7\xC9\xE8\xD6\xC3", LCD_ALIGN_CENTER, WHITE, UI0902_BG_COLOR, 0, 16); LCD_ShowChinese_AutoAlign(0, 240, 118, (uint8_t*)"\xC8\xB7\xC8\xCF\xBB\xD6\xB8\xB4\xB3\xF6\xB3\xA7\xC9\xE8\xD6\xC3\xA3\xAC\xBB\xD6\xB8\xB4\xBA\xF3\xCB\xF9\xD3\xD0\xC9\xE8\xD6\xC3\xBD\xAB", LCD_ALIGN_CENTER, WHITE, UI0902_BG_COLOR, 0, 12); LCD_ShowChinese_AutoAlign(0, 240, 140, (uint8_t*)"\xC7\xE5\xB3\xFD\xB2\xA2\xD6\xD8\xC6\xF4\xA1\xA3", LCD_ALIGN_CENTER, WHITE, UI0902_BG_COLOR, 0, 12); LCD_WR_PIC_FROM_FLASH_Trans(13, 185, 106, 56, UI0902_BTN_CONFIRM_BIG_ADDR); LCD_WR_PIC_FROM_FLASH_Trans(121, 185, 106, 56, UI0902_BTN_CANCEL_BIG_ADDR); Draw_Bottom_Bar(UI0902_NAV_SETTING, 0); pCurrentTouch_Area = Touch_Restore_Areas; } void UI_Restore_Select_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 ) { if (pCurrentTouch_Area[k].ID == GUI_NAV_BAR) { if (pCurrentTouch_Area[k].Value == UI0902_NAV_SETTING) MenuPage_Setting_Proc(); else UI_NavBar_Action(pCurrentTouch_Area[k].Value); } else { switch(pCurrentTouch_Area[k].ID) { case 0: MenuPage_Setting_Proc(); break; case 1: RestoreSetting(); MenuPage_Setting_Proc(); break; case 2: MenuPage_Setting_Proc(); break; } } ResetAutoPowerCount(); break; } } break; } }