#include "includes.h" /* 0924 设置入口:调音台 / 系统语言 / 系统设置 + 底栏设置高亮 */ const Touch_AreaTypeDef Touch_SetingSelect_Areas[] = { { UI0902_BT_HIT_X0, UI0902_BT_HIT_X1, UI0902_BT_HIT_Y0, UI0902_BT_HIT_Y1, 0, 0, GUI_BL_SW, NULL }, { UI0902_HUB_CARD_X, (uint16_t)(UI0902_HUB_CARD_X + UI0902_HUB_CARD_W - 1), UI0902_HUB_CARD_Y0, (uint16_t)(UI0902_HUB_CARD_Y0 + UI0902_HUB_CARD_H - 1), 0, 0, GUI_SETING_SELECT1, NULL }, { UI0902_HUB_CARD_X, (uint16_t)(UI0902_HUB_CARD_X + UI0902_HUB_CARD_W - 1), UI0902_HUB_CARD_Y1, (uint16_t)(UI0902_HUB_CARD_Y1 + UI0902_HUB_CARD_H - 1), 0, 0, GUI_SETING_SELECT2, NULL }, { UI0902_HUB_CARD_X, (uint16_t)(UI0902_HUB_CARD_X + UI0902_HUB_CARD_W - 1), UI0902_HUB_CARD_Y2, (uint16_t)(UI0902_HUB_CARD_Y2 + UI0902_HUB_CARD_H - 1), 0, 0, GUI_SETING_SELECT3, NULL }, { UI0902_NAV_X0(0), UI0902_NAV_X1(0), UI0902_NAV_Y0, UI0902_NAV_Y1, 0, UI0902_NAV_UNIVERSAL, GUI_NAV_BAR, NULL }, { UI0902_NAV_X0(1), UI0902_NAV_X1(1), UI0902_NAV_Y0, UI0902_NAV_Y1, 0, UI0902_NAV_NORMAL, GUI_NAV_BAR, NULL }, { UI0902_NAV_X0(2), UI0902_NAV_X1(2), UI0902_NAV_Y0, UI0902_NAV_Y1, 0, UI0902_NAV_EXPERT, GUI_NAV_BAR, NULL }, { UI0902_NAV_X0(3), UI0902_NAV_X1(3), UI0902_NAV_Y0, UI0902_NAV_Y1, 0, UI0902_NAV_SETTING, GUI_NAV_BAR, NULL }, }; #define TOUCH_AREA_SETING_SELECT_NUM (sizeof(Touch_SetingSelect_Areas)/sizeof(Touch_AreaTypeDef)) void Touch_Seting_Select_Action(int8_t FLAG, uint8_t ID, uint8_t areaIndex, uint8_t value) { (void)FLAG; (void)areaIndex; if (ID == GUI_BL_SW) { UI_StatusBar_ToggleBluetooth(); return; } if (ID == GUI_NAV_BAR) { if (value == UI0902_NAV_SETTING) return; UI_NavBar_Action(value); return; } switch (ID) { case GUI_SETING_SELECT1: MenuPage_Mixer_Proc(); break; case GUI_SETING_SELECT2: MenuPage_Language_Proc(); break; case GUI_SETING_SELECT3: MenuPage_Setting_Proc(); break; default: break; } } void UI_DrawSysModeSelectScreen(void) { LCD_FillByColor(0, 0, 240, 320, UI0902_BG_COLOR); label_top(); LCD_WR_PIC_FROM_FLASH(UI0902_HUB_CARD_X, UI0902_HUB_CARD_Y0, UI0902_ROW_HUB_MIXER_W, UI0902_ROW_HUB_MIXER_H, UI0902_ROW_HUB_MIXER_ADDR); LCD_WR_PIC_FROM_FLASH(UI0902_HUB_CARD_X, UI0902_HUB_CARD_Y1, UI0902_ROW_HUB_LANG_W, UI0902_ROW_HUB_LANG_H, UI0902_ROW_HUB_LANG_ADDR); LCD_WR_PIC_FROM_FLASH(UI0902_HUB_CARD_X, UI0902_HUB_CARD_Y2, UI0902_ROW_HUB_SYSTEM_W, UI0902_ROW_HUB_SYSTEM_H, UI0902_ROW_HUB_SYSTEM_ADDR); Draw_Bottom_Bar(UI0902_NAV_SETTING, 0); } void UI_SystemSet_Init(void) { UI_ClearFocus(); pCurrentTouch_Area = Touch_SetingSelect_Areas; UI_DrawSysModeSelectScreen(); app_log_set_ui_page("SetHub"); LOG_I("UI", "page SettingsHub"); } void UI_SystemSet_Process(DisplayTaskMessage_Type msg) { static uint32_t s_last_touch_ms; switch (msg.MessageType) { case MSG_ID_TOUCH: { uint32_t now = rt_tick_get() * 1000U / RT_TICK_PER_SECOND; uint8_t k; if (now - s_last_touch_ms < 250U) break; s_last_touch_ms = now; for (k = 0; k < TOUCH_AREA_SETING_SELECT_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_Seting_Select_Action(pCurrentTouch_Area[k].Flag, pCurrentTouch_Area[k].ID, k, pCurrentTouch_Area[k].Value); ResetAutoPowerCount(); break; } } } break; case MSG_ID_BATTERY_VALUE: label_top(); break; case MSG_ID_CHARG: label_top(); break; case MSG_ID_EC_VOL: Draw_Volume_Bar(UI0902_VOL_X, UI0902_VOL_Y, msg.HiByte, 1, WHITE, GRAY); break; default: break; } }