screensaver settings: add option to enable/disable additional text info

This commit is contained in:
2020-02-05 22:03:12 +01:00
parent 7d70b8c823
commit 44debf7a73
9 changed files with 45 additions and 21 deletions

View File

@@ -346,13 +346,10 @@ void CScreenSaver::paint()
}
dprintf(DEBUG_INFO, "[CScreenSaver] %s - %d : %s\n", __func__, __LINE__, v_bg_files.at(index).c_str());
#if 0
hideRadioText();
#endif
m_frameBuffer->showFrame(v_bg_files.at(index), CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_IMAGE);
#if 1
handleRadioText();
#endif
handleRadioText(g_settings.screensaver_mode_text);
if (!g_settings.screensaver_random)
index++;
@@ -389,8 +386,7 @@ void CScreenSaver::paint()
#endif
m_frameBuffer->showFrame("blackscreen.jpg", CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_CALLBACK | CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_BLACKSCREEN);
#endif
handleRadioText();
handleRadioText(g_settings.screensaver_mode_text);
if (scr_clock)
{
@@ -417,13 +413,12 @@ void CScreenSaver::paint()
else
scr_clock->paint(true);
if (g_RadiotextWin)
if (g_RadiotextWin && g_settings.screensaver_mode_text)
scr_clock->allowPaint(g_RadiotextWin->isPainted());
else
scr_clock->allowPaint(true);
}
if (g_settings.screensaver_mode == SCR_MODE_CLOCK_COLOR)
{
srand (time(NULL));
@@ -445,7 +440,7 @@ void CScreenSaver::paint()
}
}
void CScreenSaver::handleRadioText()
void CScreenSaver::handleRadioText(bool enable_paint)
{
if (!g_RadiotextWin)
return;
@@ -464,13 +459,15 @@ void CScreenSaver::handleRadioText()
int rt_x_random = rand_r(&seed[4]) % ((g_settings.screen_EndX - w_rt - g_settings.screen_StartX - OFFSET_SHADOW) + 1) + g_settings.screen_StartX;
int rt_y_random = rand_r(&seed[5]) % ((g_settings.screen_EndY - h_rt - g_settings.screen_StartY - OFFSET_SHADOW) + 1) + g_settings.screen_StartY;
g_RadiotextWin->setPos(rt_x_random, rt_y_random);
g_RadiotextWin->allowPaint(true);
if (g_RadiotextWin->hasLines())
{
if (scr_clock)
scr_clock->cl_sl_show.block();
g_RadiotextWin->CRadioTextGUI::paint(CC_SAVE_SCREEN_YES);
if (enable_paint)
g_RadiotextWin->CRadioTextGUI::paint(CC_SAVE_SCREEN_YES);
if (scr_clock)
scr_clock->cl_sl_show.unblock();
}