Experimental: save/restore screen for channel list context menu

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1935 e54a6e83-5905-42d5-8d5c-058d10e6a962


Origin commit data
------------------
Branch: ni/coolstream
Commit: e85c48501f
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2011-12-05 (Mon, 05 Dec 2011)



------------------
This commit was generated by Migit
This commit is contained in:
[CST] Focus
2011-12-05 14:16:28 +00:00
parent 0e5976c8ea
commit 02275a1ab7
5 changed files with 77 additions and 21 deletions

View File

@@ -501,7 +501,7 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &)
}
}
}
paint();
paint(true);
int retval = menu_return::RETURN_REPAINT;
uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings::TIMING_MENU]);
@@ -743,6 +743,8 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &)
}
while ( msg!=CRCInput::RC_timeout );
hide();
delete[] background;
background = NULL;
if ( fadeIn || fadeOut ) {
g_RCInput->killTimer(fadeTimer);
@@ -889,10 +891,11 @@ void CMenuWidget::calcSize()
}
}
void CMenuWidget::paint()
void CMenuWidget::paint(bool save)
{
calcSize();
saveScreen();
if(save)
saveScreen();
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8, nameString.c_str());
@@ -1012,8 +1015,10 @@ void CMenuWidget::restoreScreen()
if(background) {
if(savescreen)
frameBuffer->RestoreScreen(x, y, full_width, full_height, background);
#if 0
delete[] background;
background = NULL;
#endif
}
}