mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-31 09:21:09 +02:00
screensaver: ensure clean paint of unscaled images
Origin commit data
------------------
Commit: 2716de61f4
Author: Thilo Graf <dbt@novatux.de>
Date: 2020-02-06 (Thu, 06 Feb 2020)
This commit is contained in:
@@ -376,7 +376,7 @@ void CScreenSaver::paint()
|
||||
|
||||
dprintf(DEBUG_INFO, "[CScreenSaver] %s - %d : %s\n", __func__, __LINE__, v_bg_files.at(index).c_str());
|
||||
|
||||
//m_frameBuffer->showFrame(v_bg_files.at(index), CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_IMAGE);
|
||||
//m_frameBuffer->showFrame(v_bg_files.at(index), CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_IMAGE_UNSCALED);
|
||||
m_viewer->ShowImage(v_bg_files.at(index).c_str(), false /*unscaled*/);
|
||||
|
||||
handleRadioText(g_settings.screensaver_mode_text);
|
||||
@@ -416,6 +416,7 @@ void CScreenSaver::paint()
|
||||
#endif
|
||||
m_frameBuffer->showFrame("blackscreen.jpg", CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_CALLBACK | CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_BLACKSCREEN);
|
||||
#endif
|
||||
|
||||
handleRadioText(g_settings.screensaver_mode_text);
|
||||
|
||||
if (scr_clock)
|
||||
@@ -477,12 +478,9 @@ void CScreenSaver::handleRadioText(bool enable_paint)
|
||||
if (!g_RadiotextWin)
|
||||
return;
|
||||
|
||||
if (g_RadiotextWin->isPainted() || g_settings.screensaver_mode == SCR_MODE_IMAGE)
|
||||
{
|
||||
g_RadiotextWin->hide();
|
||||
g_RadiotextWin->clearSavedScreen();
|
||||
}
|
||||
else
|
||||
g_RadiotextWin->clearSavedScreen();
|
||||
|
||||
if (g_settings.screensaver_mode != SCR_MODE_IMAGE)
|
||||
g_RadiotextWin->kill(/*COL_BLACK*/); //ensure black paintBackground before repaint
|
||||
|
||||
//check position and size, use only possible available screen size
|
||||
@@ -504,6 +502,8 @@ void CScreenSaver::handleRadioText(bool enable_paint)
|
||||
if (scr_clock)
|
||||
scr_clock->cl_sl_show.unblock();
|
||||
}
|
||||
|
||||
m_frameBuffer->OnFallbackShowFrame.connect(sigc::mem_fun(g_RadiotextWin, &CRadioTextGUI::hide));
|
||||
}
|
||||
|
||||
void CScreenSaver::hideRadioText()
|
||||
|
Reference in New Issue
Block a user