#include "includes.h" // ============================== // 按键界面配置参数 // ============================== #define BTN_Y_START 115 // 按键Y轴起始坐标 #define BTN_HEIGHT 80 // 按键高度 #define BTN_WIDTH 220 // 按键宽度 #define BTN_GAP 5 // 按键之间的间距 #define BTN_RADIUS 6 // 圆角半径 // 按键颜色配置 #define BTN_COLOR_CANCEL 0x4A4A // 取消按键背景色 #define BTN_COLOR_CONFIRM 0x03B7 // 确认按键背景色 #define BTN_TEXT_COLOR 0xFFFF // 按键字体颜色 #define BTN_TEXT_SIZE 24 // 按键文字字号 extern const Touch_AreaTypeDef *pCurrentTouch_Area; const Touch_AreaTypeDef Touch_Restore_Areas[] = { // Xmin, Xmax, Ymin, Ymax, flag, Value, ID, action { 0, 50, 0, 50, 0, 0, 0, NULL }, { 10, 10+BTN_WIDTH, BTN_Y_START, BTN_Y_START+BTN_HEIGHT, 0, 1, 1, NULL }, { 10, 10+BTN_WIDTH, BTN_Y_START, BTN_Y_START+BTN_HEIGHT, 0, 2, 0, NULL }, }; #define TOUCH_AREA_SYSTEMSETTING_NUM (sizeof(Touch_Restore_Areas)/sizeof(Touch_AreaTypeDef)) void UI_Draw_Buttons(void) { // LCD_FillByColor(10, 270, 220, 320, BLACK); LCD_FillRoundRect( 10, BTN_Y_START, BTN_WIDTH, BTN_HEIGHT, BTN_RADIUS, BTN_COLOR_CANCEL ); LCD_ShowChinese_AutoAlign( 10, 10 + BTN_WIDTH, BTN_Y_START + (BTN_HEIGHT - BTN_TEXT_SIZE)/2, (uint8_t*)"\xC8\xB7\xB6\xA8\x00", LCD_ALIGN_CENTER, BTN_TEXT_COLOR, BTN_COLOR_CANCEL, 0, BTN_TEXT_SIZE ); LCD_FillRoundRect( 10, BTN_Y_START+BTN_HEIGHT+BTN_GAP, BTN_WIDTH, BTN_HEIGHT, BTN_RADIUS, BTN_COLOR_CONFIRM ); LCD_ShowChinese_AutoAlign( 10, 10 + BTN_WIDTH, BTN_Y_START + BTN_HEIGHT + (BTN_HEIGHT - BTN_TEXT_SIZE)/2, (uint8_t*)"\xC8\xB1\xCF\xF8\x00", LCD_ALIGN_CENTER, BTN_TEXT_COLOR, BTN_COLOR_CONFIRM, 0, BTN_TEXT_SIZE ); } #define TOP_TITLE_X1 0 #define TOP_TITLE_X2 240 #define TOP_TITLE_Y1 0 #define TOP_TITLE_Y2 35 #define TOP_TITLE_BG_COLOR BLACK // ����ɫ #define TOP_TITLE_TEXT_COLOR WHITE // ������ɫ #define TOP_TITLE_FONT_SIZE 16 // �����С #define TOP_TITLE_ALIGN LCD_ALIGN_CENTER // ���� // ============================== // ��ʾ�������⣺����̨ // ============================== void UI_DrawTop_Restore(void) { //const uint16_t btn_color = /*DARKLGRAY*/0x2988; // 深灰�????? // ��ˢ��ɫ���� //LCD_FillByColor(TOP_TITLE_X1, TOP_TITLE_Y1, TOP_TITLE_X2, TOP_TITLE_Y2, TOP_TITLE_BG_COLOR); LCD_FillByColor(0, 0, 240, 320, TOP_TITLE_BG_COLOR); //LCD_DrawLine(0, 30, 240, 30, btn_color); LCD_WR_PIC(10,0 ,40,31,gImage_Return); // ��ʾ������̨�����С�16���֣� LCD_ShowChinese_AutoAlign( TOP_TITLE_X1, TOP_TITLE_X2, // �������� TOP_TITLE_Y1 + (TOP_TITLE_Y2 - TOP_TITLE_Y1 - TOP_TITLE_FONT_SIZE)/2, // ��ֱ���� (uint8_t*)"\xBB\xD6\xB8\xB4\xB3\xF6\xB3\xA7\xC9\xE8\xD6\xC3", // ����̨ TOP_TITLE_ALIGN, TOP_TITLE_TEXT_COLOR, TOP_TITLE_BG_COLOR, 0, TOP_TITLE_FONT_SIZE ); } void UI_Restore_Select_Init(void) { // LCD_WR_REG(0x28); // Display OFF UI_DrawTop_Restore(); UI_Draw_Buttons(); pCurrentTouch_Area = Touch_Restore_Areas; // LCD_WR_REG(0x29); // Display ON } 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 ) { 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; } }