K1Guitar/UI/UI_Restore.c

75 lines
3.0 KiB
C
Raw Normal View History

#include "includes.h"
/* ==============================
* 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>
* ============================== */
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 }, /* ȷ<><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> */
};
#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_NONE, 1);
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<TOUCH_AREA_RESTORE_NUM; k++)
{
if( msg.HiByte >= 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_MIXER)
MenuPage_Mixer_Proc();
else if (pCurrentTouch_Area[k].Value == UI0902_NAV_MODE)
UI_ReturnToModeSelect();
}
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;
}
}