From 4210a402447e2364770b60aad173faa9ae40e705 Mon Sep 17 00:00:00 2001 From: focus Date: Tue, 6 Dec 2011 12:54:36 +0000 Subject: [PATCH] Use new class to fade git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1945 e54a6e83-5905-42d5-8d5c-058d10e6a962 --- src/gui/timerlist.cpp | 50 ++++++++----------------------------------- 1 file changed, 9 insertions(+), 41 deletions(-) diff --git a/src/gui/timerlist.cpp b/src/gui/timerlist.cpp index 835351085..66c2f6e74 100644 --- a/src/gui/timerlist.cpp +++ b/src/gui/timerlist.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -472,16 +473,8 @@ int CTimerList::show() bool loop=true; bool update=true; - bool fadeIn = g_settings.widget_fade; - bool fadeOut = false; - int fadeValue = g_settings.menu_Content_alpha; - uint32_t fadeTimer = 0; - if ( fadeIn ) { - fadeValue = 100; - frameBuffer->setBlendMode(2); // Global alpha multiplied with pixel alpha - frameBuffer->setBlendLevel(fadeValue, fadeValue); - fadeTimer = g_RCInput->addTimer( FADE_TIME, false ); - } + COSDFader fader(g_settings.menu_Content_alpha); + fader.StartFadeIn(); while (loop) { @@ -498,42 +491,20 @@ int CTimerList::show() timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings ::TIMING_MENU]); - if((msg == NeutrinoMessages::EVT_TIMER) && (data == fadeTimer)) { - if (fadeOut) { // disappear - fadeValue += FADE_STEP; - if (fadeValue >= 100) { - fadeValue = g_settings.menu_Content_alpha; - g_RCInput->killTimer (fadeTimer); - loop = false; - } else - frameBuffer->setBlendLevel(fadeValue, fadeValue); - } else { // appears - fadeValue -= FADE_STEP; - if (fadeValue <= g_settings.menu_Content_alpha) { - fadeValue = g_settings.menu_Content_alpha; - g_RCInput->killTimer (fadeTimer); - fadeIn = false; - frameBuffer->setBlendMode(1); // Set back to per pixel alpha - } else - frameBuffer->setBlendLevel(fadeValue, fadeValue); - } + if((msg == NeutrinoMessages::EVT_TIMER) && (data == fader.GetTimer())) { + if(fader.Fade()) + loop = false; } else if ( ( msg == CRCInput::RC_timeout ) || ( msg == CRCInput::RC_home) || (msg == CRCInput::RC_left) || (( msg == CRCInput::RC_ok) && (timerlist.empty())) ) { //Exit after timeout or cancel key - if ( fadeIn ) { - g_RCInput->killTimer(fadeTimer); - fadeIn = false; - } - if ((!fadeOut) && g_settings.widget_fade) { - fadeOut = true; - fadeTimer = g_RCInput->addTimer( FADE_TIME, false ); + if(fader.StartFadeOut()) { timeoutEnd = CRCInput::calcTimeoutEnd( 1 ); - frameBuffer->setBlendMode(2); // Global alpha multiplied with pixel alpha msg = 0; } else loop=false; + } else if ((msg == CRCInput::RC_up || msg == (unsigned int)g_settings.key_channelList_pageup) && !(timerlist.empty())) { @@ -658,11 +629,8 @@ int CTimerList::show() } } } - if ( fadeIn || fadeOut ) { - g_RCInput->killTimer(fadeTimer); - frameBuffer->setBlendMode(1); // Set back to per pixel alpha - } hide(); + fader.Stop(); return(res); }