K1Guitar/UI/UI_Setting.c

123 lines
4.7 KiB
C
Raw Normal View History

#include "includes.h"
/* ==============================
* 0902 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>4 <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>/<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> 214x33<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 46<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ / ģʽѡ<EFBFBD><EFBFBD>
* ============================== */
#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 }, /* <20><><EFBFBD><EFBFBD> */
{ 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]);
}
// ==============================
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ==============================
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; /* <20><><EFBFBD>ص<EFBFBD>ǰģʽҳ */
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<TOUCH_AREA_SYSTEMSETTING_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 )
{
Touch_SystemSettingAction(pCurrentTouch_Area[k].Flag,pCurrentTouch_Area[k].ID,k,pCurrentTouch_Area[k].Value);
ResetAutoPowerCount();
break;
}
}
break;
case MSG_ID_EC_VOL:
break;
}
}