Reduce flicker when switching between the three play modes.
Home-page mode switches now redraw only the mode card and nav bar instead of clearing the full screen. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
f076d1714a
commit
7c76b8302a
|
|
@ -6,7 +6,10 @@ void UI_ExpertMode_Init(void)
|
|||
mGuiData[GUI_TAB_LAST_INDEX].Current = mGuiData[GUI_TAB_INDEX].Current;
|
||||
//mGuiData[GUI_AUTOBAND_SW].Current = 1;
|
||||
UI_ReloadTonePreset(); /* 必须在 TAB=专业 之后换库,否则仍是万能 3.bin */
|
||||
Show_home_UI();
|
||||
if (CurrUIProcress == UI_SongMode_Process)
|
||||
Show_home_UI_Diff();
|
||||
else
|
||||
Show_home_UI();
|
||||
pCurrentTouch_Area = Touch_Areas;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@ void UI_FreeMode_Init(void)
|
|||
mGuiData[GUI_TAB_LAST_INDEX].Current = mGuiData[GUI_TAB_INDEX].Current;
|
||||
//mGuiData[GUI_AUTOBAND_SW].Current = 1;
|
||||
UI_ReloadTonePreset(); /* TAB=普通 后再加载 1.bin */
|
||||
Show_home_UI();
|
||||
if (CurrUIProcress == UI_SongMode_Process)
|
||||
Show_home_UI_Diff();
|
||||
else
|
||||
Show_home_UI();
|
||||
pCurrentTouch_Area = Touch_Areas;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,21 @@ void Show_home_UI(void)
|
|||
//LCD_BLK_Set();
|
||||
}
|
||||
|
||||
/* 三模式主页互切:只重绘变化区,避免整屏清导致闪烁 */
|
||||
void Show_home_UI_Diff(void)
|
||||
{
|
||||
const LEBEL_UI *mode = &UI_Label[GUI_MODE_PARAM];
|
||||
|
||||
UI_ClearFocus();
|
||||
/* 清 TAB/标题条,避免万能↔普通/专业互切留下残影 */
|
||||
LCD_FillByColor(mode->x, mode->y,
|
||||
(uint16_t)(mode->x + mode->w),
|
||||
(uint16_t)(mode->y + UI0902_TAB_H + 4),
|
||||
UI0902_BG_COLOR);
|
||||
label_ModeSelece_ui(mode, &mGuiData[GUI_MODE_PARAM]);
|
||||
label_Tab_Select_ui(&UI_Label[GUI_PLAY_SECTION], &mGuiData[GUI_TAB_INDEX]);
|
||||
}
|
||||
|
||||
int8_t delta = 0;
|
||||
void Touch_Action(int8_t FLAG, uint8_t ID, uint8_t areaIndex,uint8_t value)
|
||||
{
|
||||
|
|
@ -280,7 +295,11 @@ void UI_SongMode_Init(void)
|
|||
mGuiData[GUI_TAB_INDEX].Current = 0;
|
||||
mGuiData[GUI_TAB_LAST_INDEX].Current = mGuiData[GUI_TAB_INDEX].Current;
|
||||
UI_ReloadTonePreset(); /* TAB=万能 后再加载 3.bin */
|
||||
Show_home_UI();
|
||||
/* 已在主页互切用差分;从 Idle/设置进入仍整页 */
|
||||
if (CurrUIProcress == UI_SongMode_Process)
|
||||
Show_home_UI_Diff();
|
||||
else
|
||||
Show_home_UI();
|
||||
pCurrentTouch_Area = Touch_Areas;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -208,6 +208,7 @@ void GET_Num_Str(int16_t NUM, uint8_t ValidLen, char* Str, uint8_t hasSign);
|
|||
void show_Param(const LEBEL_UI *UI, GUI_SWITCH *Group);
|
||||
|
||||
extern void Show_home_UI(void);
|
||||
extern void Show_home_UI_Diff(void);
|
||||
extern void Touch_Action(int8_t FLAG, uint8_t ID, uint8_t areaIndex, uint8_t value);
|
||||
//extern void Refresh_Transpose(uint8_t last_data, const LEBEL_UI *UI, GUI_SWITCH *Group);
|
||||
extern void Refresh_Transpose(const LEBEL_UI *UI, GUI_SWITCH * Group);
|
||||
|
|
|
|||
Loading…
Reference in New Issue