Fix system-settings icons, version dots, and auto-off centering.

Use correct BT/restore glyphs and triangle steppers, put version periods on the baseline, and center auto-off minutes between the triangles.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yuquanjun 2026-09-06 20:56:11 +08:00
parent 0bf9b77a4a
commit a02379104d
4 changed files with 30 additions and 19 deletions

View File

@ -237,7 +237,7 @@ uint8_t UI_SetFocus(uint8_t widget_id)
void UI_DrawStatusSepLine(void) void UI_DrawStatusSepLine(void)
{ {
/* 与模式选择/各模式主页统一:需求稿分割线 y=362px 厚 */ /* 与模式选择/各模式主页统一:需求稿分割线 y=361px 厚 */
LCD_FillByColor(0, UI0902_STATUS_SEP_Y, 240, LCD_FillByColor(0, UI0902_STATUS_SEP_Y, 240,
(uint16_t)(UI0902_STATUS_SEP_Y + UI0902_SEP_LINE_THICK), (uint16_t)(UI0902_STATUS_SEP_Y + UI0902_SEP_LINE_THICK),
UI0902_STATUS_SEP_COLOR); UI0902_STATUS_SEP_COLOR);
@ -1148,20 +1148,24 @@ void Draw_System_Item_List(const LEBEL_UI *UI, GUI_SWITCH *Group)
/* 0902-07芯片图标系统设置图标-10 */ /* 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); 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]); sprintf (Info, "%d.%d.%d", Version[0], Version[1],Version[2]);
/* 0902-07右侧凹槽版本框 */ /* 0902-07右侧凹槽版本框'.' 字库已贴底基线 */
LCD_FillRoundRect(UI->x + 148, UI->y + (UI->h - 22) / 2, 54, 22, 4, UI0902_BG_COLOR); 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, LCD_ShowString_AutoAlign(UI->x + 148, UI->x + 202,
UI->y + (UI->h - value_sz) / 2, UI->y + (UI->h - value_sz) / 2,
(const uint8_t*)Info, LCD_ALIGN_CENTER, WHITE, UI0902_BG_COLOR, 0, value_sz); (const uint8_t*)Info, LCD_ALIGN_CENTER, WHITE, UI0902_BG_COLOR, 0, value_sz);
break; break;
case GUI_BLUETOOTH_SW: case GUI_BLUETOOTH_SW:
LCD_WR_PIC_FROM_FLASH_Trans(UI->x+7, UI->y + (UI->h - 33) / 2, 34, 33, UI0902_ICON_SET_BLUETOOTH_ADDR); /* 蓝牙符:外置 Flash 当前在 RESTORE 槽(13x21)SET_BLUETOOTH 槽曾误打包调音台 */
LCD_DrawChevron_Left(val_x1 + 8, chev_cy, 5, 2, WHITE); LCD_WR_PIC_FROM_FLASH_Trans(UI->x + 12,
(uint16_t)(UI->y + (UI->h - UI0902_ICON_SYS_RESTORE_H) / 2),
UI0902_ICON_SYS_RESTORE_W, UI0902_ICON_SYS_RESTORE_H,
UI0902_ICON_SYS_RESTORE_ADDR);
UI_DrawTriLeft(val_x1, chev_cy);
if(Group->Current) if(Group->Current)
LCD_ShowChinese_AutoAlign_Gradient(val_x1 + 14, val_x2 - 14, text_y,(const uint8_t*)"\xCA\xC7",LCD_ALIGN_CENTER, WHITE,c_top, c_bot,value_sz); LCD_ShowChinese_AutoAlign_Gradient(val_x1 + UI0902_TRI_L_W, val_x2 - UI0902_TRI_R_W, text_y,(const uint8_t*)"\xCA\xC7",LCD_ALIGN_CENTER, WHITE,c_top, c_bot,value_sz);
else else
LCD_ShowChinese_AutoAlign_Gradient(val_x1 + 14, val_x2 - 14, text_y,(const uint8_t*)"\xB9\xD8",LCD_ALIGN_CENTER, WHITE,c_top, c_bot,value_sz); LCD_ShowChinese_AutoAlign_Gradient(val_x1 + UI0902_TRI_L_W, val_x2 - UI0902_TRI_R_W, text_y,(const uint8_t*)"\xB9\xD8",LCD_ALIGN_CENTER, WHITE,c_top, c_bot,value_sz);
LCD_DrawChevron_Right(val_x2 - 8, chev_cy, 5, 2, WHITE); UI_DrawTriRight((uint16_t)(val_x2 - UI0902_TRI_R_W), chev_cy);
BSP_BlueToothPowerEnable (Group->Current); BSP_BlueToothPowerEnable (Group->Current);
mGuiData[GUI_BL_SW].Current = Group->Current; mGuiData[GUI_BL_SW].Current = Group->Current;
break; break;
@ -1169,26 +1173,32 @@ void Draw_System_Item_List(const LEBEL_UI *UI, GUI_SWITCH *Group)
/* 0902-07电源图标档位按手册 15/30/45/60/不自动 */ /* 0902-07电源图标档位按手册 15/30/45/60/不自动 */
LCD_WR_PIC_FROM_FLASH_Trans(UI->x+12, UI->y + (UI->h - 21) / 2, 18, 21, UI0902_ICON_SYS_ABOUT_ADDR); LCD_WR_PIC_FROM_FLASH_Trans(UI->x+12, UI->y + (UI->h - 21) / 2, 18, 21, UI0902_ICON_SYS_ABOUT_ADDR);
ApplyAutoCloseIndex(Group->Current); ApplyAutoCloseIndex(Group->Current);
LCD_DrawChevron_Left(val_x1 + 4, chev_cy, 5, 2, WHITE); UI_DrawTriLeft(val_x1, chev_cy);
if(Group->Current != 4) if(Group->Current != 4)
{ {
sprintf (Info, "%d",AutoCloseTime); sprintf (Info, "%d",AutoCloseTime);
LCD_ShowString_AutoAlign_Gradient(val_x1 + 12, val_x2 - 36, text_y, (const uint8_t*)Info, LCD_ALIGN_RIGHT, WHITE, c_top, c_bot, value_sz); /* 与蓝牙「关」相同:数值在左右三角之间水平居中 */
LCD_ShowChinese_AutoAlign_Gradient(val_x2 - 34, val_x2 - 12, text_y, (const uint8_t*)"\xB7\xD6\xD6\xD3", LCD_ALIGN_LEFT, WHITE, c_top, c_bot, value_sz); LCD_ShowString_AutoAlign_Gradient(val_x1 + UI0902_TRI_L_W, val_x2 - UI0902_TRI_R_W, text_y,
(const uint8_t *)Info, LCD_ALIGN_CENTER,
WHITE, c_top, c_bot, value_sz);
}else }else
{ {
/* 手册「不自动」;字库无「不」,界面用稿面「关机」 */ /* 手册「不自动」;字库无「不」,界面用稿面「关机」 */
LCD_ShowChinese_AutoAlign_Gradient(val_x1 + 12, val_x2 - 12, text_y, LCD_ShowChinese_AutoAlign_Gradient(val_x1 + UI0902_TRI_L_W, val_x2 - UI0902_TRI_R_W, text_y,
(const uint8_t*)"\xB9\xD8\xBB\xFA", (const uint8_t*)"\xB9\xD8\xBB\xFA",
LCD_ALIGN_CENTER, WHITE, c_top, c_bot, value_sz); LCD_ALIGN_CENTER, WHITE, c_top, c_bot, value_sz);
} }
LCD_DrawChevron_Right(val_x2 - 8, chev_cy, 5, 2, WHITE); UI_DrawTriRight((uint16_t)(val_x2 - UI0902_TRI_R_W), chev_cy);
nvm->param.AutoCloseTime = Group->Current; nvm->param.AutoCloseTime = Group->Current;
drv_nvm_save_to_flash(); drv_nvm_save_to_flash();
break; break;
case GUI_RESTORE: case GUI_RESTORE:
LCD_WR_PIC_FROM_FLASH_Trans(UI->x+13, UI->y + (UI->h - 21) / 2, 13, 21, UI0902_ICON_SYS_RESTORE_ADDR); /* 逆时针箭头:当前在 VERSION 槽(19x18)RESTORE 槽曾误为蓝牙符 */
LCD_DrawChevron_Right((uint16_t)(UI->x + row_w - 18), chev_cy, 6, 2, WHITE); LCD_WR_PIC_FROM_FLASH_Trans(UI->x + 12,
(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);
break; break;
default: break; default: break;
} }

View File

@ -32,7 +32,7 @@ void CallUI_RestoreSelect(void);
#define UI0902_STATUS_SEP_Y 36 #define UI0902_STATUS_SEP_Y 36
/* 顶/底共用偏亮灰蓝2px 厚,保证暗底上可辨 */ /* 顶/底共用偏亮灰蓝2px 厚,保证暗底上可辨 */
#define UI0902_SEP_LINE_COLOR 0x94D5 /* RGB(144,152,168) */ #define UI0902_SEP_LINE_COLOR 0x94D5 /* RGB(144,152,168) */
#define UI0902_SEP_LINE_THICK 2 #define UI0902_SEP_LINE_THICK 1
#define UI0902_STATUS_SEP_COLOR UI0902_SEP_LINE_COLOR #define UI0902_STATUS_SEP_COLOR UI0902_SEP_LINE_COLOR
/* 0902 设计稿配色与底栏导航 */ /* 0902 设计稿配色与底栏导航 */
#define UI0902_BG_COLOR 0x0042 /* #000813 页面背景 */ #define UI0902_BG_COLOR 0x0042 /* #000813 页面背景 */

View File

@ -418,7 +418,7 @@ const unsigned char ascii_115[][11]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"+",11*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"+",11*/
{0x00,0x00,0x00,0x08,0x08,0x08,0x04,0x00,0x00,0x00,0x00},/*",",12*/ {0x00,0x00,0x00,0x08,0x08,0x08,0x04,0x00,0x00,0x00,0x00},/*",",12*/
{0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00},/*"-",13*/ {0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
{0x00,0x00,0x00,0x00,0x04,0x04,0x00,0x00,0x00,0x00,0x00},/*".",14*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04},/*".",14 基线底部,避免居中成间隔号*/
{0x10,0x10,0x08,0x08,0x08,0x04,0x04,0x04,0x04,0x02,0x02},/*"/",15*/ {0x10,0x10,0x08,0x08,0x08,0x04,0x04,0x04,0x04,0x02,0x02},/*"/",15*/
{0x0C,0x12,0x21,0x21,0x21,0x21,0x21,0x21,0x12,0x0C,0x00},/*"0",16*/ {0x0C,0x12,0x21,0x21,0x21,0x21,0x21,0x21,0x12,0x0C,0x00},/*"0",16*/
{0x04,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00},/*"1",17*/ {0x04,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00},/*"1",17*/

View File

@ -158,15 +158,16 @@ EXTERNAL = [
("TXT_MODE_NORMAL_SEL", "04_模式图标/完整版/文字/模式选择文字-13.png"), ("TXT_MODE_NORMAL_SEL", "04_模式图标/完整版/文字/模式选择文字-13.png"),
("TXT_MODE_EXPERT_NOT", "04_模式图标/完整版/文字/模式选择文字-14.png"), ("TXT_MODE_EXPERT_NOT", "04_模式图标/完整版/文字/模式选择文字-14.png"),
("TXT_MODE_EXPERT_SEL", "04_模式图标/完整版/文字/模式选择文字-15.png"), ("TXT_MODE_EXPERT_SEL", "04_模式图标/完整版/文字/模式选择文字-15.png"),
("ICON_SET_BLUETOOTH", "05_设置图标/设置图标-01.png"), # BT rune / gear / chevron / restore CCW / power
("ICON_SET_BLUETOOTH", "06_控件/系统设置/系统设置图标-11.png"),
("ICON_SET_GEAR", "05_设置图标/设置图标-02.png"), ("ICON_SET_GEAR", "05_设置图标/设置图标-02.png"),
("ICON_CHEVRON", "05_设置图标/设置图标-03.png"), ("ICON_CHEVRON", "05_设置图标/设置图标-03.png"),
("ROW_SET_BLUETOOTH", "05_设置图标/设置图标 完整-10.png"), ("ROW_SET_BLUETOOTH", "05_设置图标/设置图标 完整-10.png"),
("ROW_SET_SYSTEM", "05_设置图标/设置图标 完整-11.png"), ("ROW_SET_SYSTEM", "05_设置图标/设置图标 完整-11.png"),
("ICON_SYS_LANG", "06_控件/系统设置/系统设置图标-10.png"), ("ICON_SYS_LANG", "06_控件/系统设置/系统设置图标-10.png"),
("ICON_SYS_RESTORE", "06_控件/系统设置/系统设置图标-11.png"), ("ICON_SYS_RESTORE", "06_控件/系统设置/系统设置图标-13.png"),
("ICON_SYS_ABOUT", "06_控件/系统设置/系统设置图标-12.png"), ("ICON_SYS_ABOUT", "06_控件/系统设置/系统设置图标-12.png"),
("ICON_SYS_VERSION", "06_控件/系统设置/系统设置图标-13.png"), ("ICON_SYS_VERSION", "06_控件/系统设置/系统设置图标-10.png"),
("TXT_SET_LANG", "06_控件/系统设置/文字/设置界面文字-14.png"), ("TXT_SET_LANG", "06_控件/系统设置/文字/设置界面文字-14.png"),
("TXT_SET_RESTORE", "06_控件/系统设置/文字/设置界面文字-15.png"), ("TXT_SET_RESTORE", "06_控件/系统设置/文字/设置界面文字-15.png"),
("TXT_SET_ABOUT", "06_控件/系统设置/文字/设置界面文字-16.png"), ("TXT_SET_ABOUT", "06_控件/系统设置/文字/设置界面文字-16.png"),