From 86aa05f1ec74a511fae748ada3e1143296c584d2 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Sun, 17 May 2026 12:33:16 +0200 Subject: [PATCH] Sync screensaver frames to k5viewer --- App/app/app.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/App/app/app.c b/App/app/app.c index 39f77bf1..869742b7 100644 --- a/App/app/app.c +++ b/App/app/app.c @@ -233,6 +233,13 @@ static void ScreenSaverRenderLogoPlus(bool reset) ST7565_BlitFullScreen(); } +static void ScreenSaverUpdateViewer(void) +{ +#ifdef ENABLE_FEAT_F4HWN_SCREENSHOT + SCREENSHOT_Update(false); +#endif +} + static bool ScreenSaverCanDisplay(void) { if (gSetting_set_sav == SET_SAV_OFF || @@ -280,6 +287,7 @@ static void ScreenSaverTryDisplay(void) gScreenSaverTick = 0; gUpdateDisplay = false; gUpdateStatus = false; + ScreenSaverUpdateViewer(); } static void ScreenSaverExit(void) @@ -1618,6 +1626,8 @@ void APP_TimeSlice10ms(void) } #ifdef ENABLE_FEAT_F4HWN_LOGO_SAV + bool screenSaverRendered = false; + if (gScreenSaverDisplayed) { if (gUpdateDisplayCurrent) { gUpdateDisplayCurrent = false; @@ -1630,11 +1640,13 @@ void APP_TimeSlice10ms(void) if (++gScreenSaverTick >= 8u) { gScreenSaverTick = 0; ScreenSaverRenderMatrix(false); + screenSaverRendered = true; } } else if (gSetting_set_sav == SET_SAV_LOGO_PLUS) { if (++gScreenSaverTick >= 16u) { gScreenSaverTick = 0; ScreenSaverRenderLogoPlus(false); + screenSaverRendered = true; } } } @@ -1649,7 +1661,11 @@ void APP_TimeSlice10ms(void) } #ifdef ENABLE_FEAT_F4HWN_SCREENSHOT - if (gUpdateDisplayCurrent || gUpdateStatusCurrent) { + if (gUpdateDisplayCurrent || gUpdateStatusCurrent +#ifdef ENABLE_FEAT_F4HWN_LOGO_SAV + || screenSaverRendered +#endif + ) { SCREENSHOT_Update(false); } #endif