2026-08-26 07:26:58 +08:00
|
|
|
|
#include "includes.h"
|
|
|
|
|
|
|
2026-09-02 13:37:25 +08:00
|
|
|
|
/* ==============================
|
|
|
|
|
|
* 0902 <EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD> + ȷ<EFBFBD><EFBFBD>/ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť + <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* ============================== */
|
2026-08-26 07:26:58 +08:00
|
|
|
|
extern const Touch_AreaTypeDef *pCurrentTouch_Area;
|
|
|
|
|
|
|
|
|
|
|
|
const Touch_AreaTypeDef Touch_Restore_Areas[] =
|
|
|
|
|
|
{
|
2026-09-02 13:37:25 +08:00
|
|
|
|
// Xmin, Xmax, Ymin, Ymax, flag, Value, ID, action
|
|
|
|
|
|
{ 13, 119, 185, 241, 0, 0, 1, NULL }, /* ȷ<><C8B7> */
|
|
|
|
|
|
{ 121, 227, 185, 241, 0, 0, 2, NULL }, /* ȡ<><C8A1> */
|
|
|
|
|
|
{ 0, 79, 280, 319, 0, 0, 0, NULL }, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
{ 80, 159, 280, 319, 0, 1, GUI_NAV_BAR, NULL }, /* <20><><EFBFBD><EFBFBD>̨ */
|
|
|
|
|
|
{ 160, 239, 280, 319, 0, 2, GUI_NAV_BAR, NULL }, /* ģʽѡ<CABD><D1A1> */
|
2026-08-26 07:26:58 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
2026-09-02 13:37:25 +08:00
|
|
|
|
#define TOUCH_AREA_RESTORE_NUM (sizeof(Touch_Restore_Areas)/sizeof(Touch_AreaTypeDef))
|
2026-08-26 07:26:58 +08:00
|
|
|
|
|
|
|
|
|
|
void UI_Restore_Select_Init(void)
|
|
|
|
|
|
{
|
2026-09-02 13:37:25 +08:00
|
|
|
|
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_NONE, 1);
|
2026-08-26 07:26:58 +08:00
|
|
|
|
pCurrentTouch_Area = Touch_Restore_Areas;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void UI_Restore_Select_Process(DisplayTaskMessage_Type msg)
|
|
|
|
|
|
{
|
|
|
|
|
|
switch(msg.MessageType)
|
|
|
|
|
|
{
|
|
|
|
|
|
case MSG_ID_TOUCH :
|
2026-09-02 13:37:25 +08:00
|
|
|
|
for(uint8_t k=0; k<TOUCH_AREA_RESTORE_NUM; k++)
|
2026-08-26 07:26:58 +08:00
|
|
|
|
{
|
|
|
|
|
|
if( msg.HiByte >= pCurrentTouch_Area[k].x_min &&
|
|
|
|
|
|
msg.HiByte <= pCurrentTouch_Area[k].x_max &&
|
2026-09-02 13:37:25 +08:00
|
|
|
|
msg.LoByte >= pCurrentTouch_Area[k].y_min &&
|
2026-08-26 07:26:58 +08:00
|
|
|
|
msg.LoByte <= pCurrentTouch_Area[k].y_max )
|
|
|
|
|
|
{
|
2026-09-02 13:37:25 +08:00
|
|
|
|
if (pCurrentTouch_Area[k].ID == GUI_NAV_BAR)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (pCurrentTouch_Area[k].Value == UI0902_NAV_MIXER)
|
|
|
|
|
|
MenuPage_Mixer_Proc();
|
|
|
|
|
|
else if (pCurrentTouch_Area[k].Value == UI0902_NAV_MODE)
|
|
|
|
|
|
UI_ReturnToModeSelect();
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
2026-08-26 07:26:58 +08:00
|
|
|
|
{
|
2026-09-02 13:37:25 +08:00
|
|
|
|
switch(pCurrentTouch_Area[k].ID)
|
|
|
|
|
|
{
|
|
|
|
|
|
case 0:
|
|
|
|
|
|
MenuPage_Setting_Proc();
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 1:
|
|
|
|
|
|
RestoreSetting();
|
|
|
|
|
|
MenuPage_Setting_Proc();
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 2:
|
|
|
|
|
|
MenuPage_Setting_Proc();
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
2026-08-26 07:26:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
ResetAutoPowerCount();
|
2026-09-02 13:37:25 +08:00
|
|
|
|
break;
|
2026-08-26 07:26:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|