From f80c16dbef963cbf3a4d2420dc94f347604d30e7 Mon Sep 17 00:00:00 2001 From: yuquanjun Date: Mon, 7 Sep 2026 08:17:34 +0800 Subject: [PATCH] Polish system-settings digit glyph and right-edge alignment. Raise ascii_115 '4' to match '5' height, nudge auto-off digits down 2px, and align version box / restore chevron to the shared val_x2 right edge. Co-authored-by: Cursor --- UI/UI_global.c | 22 ++++++++++++------- .../LCD_ILI9341/Drv_ILI9341_Lcd_EnglishFont.h | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/UI/UI_global.c b/UI/UI_global.c index a465dfc..1ae19db 100644 --- a/UI/UI_global.c +++ b/UI/UI_global.c @@ -1152,11 +1152,15 @@ void Draw_System_Item_List(const LEBEL_UI *UI, GUI_SWITCH *Group) /* 0902-07:芯片图标(系统设置图标-10) */ LCD_WR_PIC_FROM_FLASH_Trans(UI->x+12, UI->y + (UI->h - 19) / 2, 20, 19, UI0902_ICON_SYS_LANG_ADDR); sprintf (Info, "%d.%d.%d", Version[0], Version[1],Version[2]); - /* 0902-07:右侧凹槽版本框;'.' 字库已贴底基线 */ - LCD_FillRoundRect(UI->x + 148, UI->y + (UI->h - 22) / 2, 54, 22, 4, UI0902_BG_COLOR); - LCD_ShowString_AutoAlign(UI->x + 148, UI->x + 202, - UI->y + (UI->h - value_sz) / 2, - (const uint8_t*)Info, LCD_ALIGN_CENTER, WHITE, UI0902_BG_COLOR, 0, value_sz); + /* 版本框右缘与蓝牙/自动关机右三角右缘(val_x2)对齐 */ + { + const uint16_t ver_box_w = 54; + const uint16_t ver_x1 = (uint16_t)(val_x2 - ver_box_w); + LCD_FillRoundRect(ver_x1, UI->y + (UI->h - 22) / 2, ver_box_w, 22, 4, UI0902_BG_COLOR); + LCD_ShowString_AutoAlign(ver_x1, val_x2, + UI->y + (UI->h - value_sz) / 2, + (const uint8_t*)Info, LCD_ALIGN_CENTER, WHITE, UI0902_BG_COLOR, 0, value_sz); + } break; case GUI_BLUETOOTH_SW: /* 蓝牙符:外置 Flash 当前在 RESTORE 槽(13x21);SET_BLUETOOTH 槽曾误打包调音台 */ @@ -1181,8 +1185,9 @@ void Draw_System_Item_List(const LEBEL_UI *UI, GUI_SWITCH *Group) if(Group->Current != 4) { sprintf (Info, "%d",AutoCloseTime); - /* 与蓝牙「关」相同:数值在左右三角之间水平居中 */ - LCD_ShowString_AutoAlign_Gradient(val_x1 + UI0902_TRI_L_W, val_x2 - UI0902_TRI_R_W, text_y, + /* 与蓝牙「关」相同:数值在左右三角之间水平居中;数字相对标签下移 2px */ + LCD_ShowString_AutoAlign_Gradient(val_x1 + UI0902_TRI_L_W, val_x2 - UI0902_TRI_R_W, + (uint16_t)(text_y + 2), (const uint8_t *)Info, LCD_ALIGN_CENTER, WHITE, c_top, c_bot, value_sz); }else @@ -1202,7 +1207,8 @@ void Draw_System_Item_List(const LEBEL_UI *UI, GUI_SWITCH *Group) (uint16_t)(UI->y + (UI->h - UI0902_ICON_SYS_VERSION_H) / 2), UI0902_ICON_SYS_VERSION_W, UI0902_ICON_SYS_VERSION_H, UI0902_ICON_SYS_VERSION_ADDR); - UI_DrawTriRight((uint16_t)(UI->x + row_w - 8 - UI0902_TRI_R_W), chev_cy); + /* 右三角与蓝牙/自动关机同一右缘(val_x2) */ + UI_DrawTriRight((uint16_t)(val_x2 - UI0902_TRI_R_W), chev_cy); break; default: break; } diff --git a/device/LCD_ILI9341/Drv_ILI9341_Lcd_EnglishFont.h b/device/LCD_ILI9341/Drv_ILI9341_Lcd_EnglishFont.h index 5d8113e..56578ff 100644 --- a/device/LCD_ILI9341/Drv_ILI9341_Lcd_EnglishFont.h +++ b/device/LCD_ILI9341/Drv_ILI9341_Lcd_EnglishFont.h @@ -424,7 +424,7 @@ const unsigned char ascii_115[][11]={ {0x04,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00},/*"1",17*/ {0x1E,0x21,0x20,0x20,0x10,0x08,0x04,0x02,0x01,0x3F,0x00},/*"2",18*/ {0x1E,0x21,0x20,0x20,0x18,0x20,0x20,0x20,0x21,0x1E,0x00},/*"3",19*/ -{0x00,0x08,0x08,0x0C,0x0C,0x0A,0x09,0x3F,0x08,0x08,0x00},/*"4",20*/ +{0x08,0x08,0x0C,0x0C,0x0A,0x09,0x3F,0x08,0x08,0x08,0x00},/*"4",20 上移1行,竖笔贴底与5同高*/ {0x3F,0x01,0x01,0x01,0x0D,0x13,0x20,0x20,0x11,0x0E,0x00},/*"5",21*/ {0x1C,0x22,0x01,0x01,0x0D,0x13,0x21,0x21,0x12,0x0C,0x00},/*"6",22*/ {0x3F,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x04,0x04,0x00},/*"7",23*/