diff -r ac96196b945c -r 15986eb6c500 windowing/windowserver/nonnga/SERVER/SERVER.CPP --- a/windowing/windowserver/nonnga/SERVER/SERVER.CPP Mon Mar 15 12:45:41 2010 +0200 +++ b/windowing/windowserver/nonnga/SERVER/SERVER.CPP Wed Mar 31 23:34:07 2010 +0300 @@ -19,7 +19,6 @@ #include "panics.h" #include "wstop.h" #include "EVENT.H" -#include #include #include #include "inifile.h" @@ -82,6 +81,8 @@ void OnActive(); void ScheduleRedraw(MWsScreen& aScreen,const TTime& aWhen); void DoRedrawNow(MWsScreen& aScreen); + void DoRedrawNow(MWsScreen& aScreen, MWsAnimationScheduler::MScreenUpdateObserver& aObserver); + void ClearScreenUpdateObserver(const MWsAnimationScheduler::MScreenUpdateObserver& /*aObserver*/) {} TInt RemoveGraphicDrawer(const TGraphicDrawerId &aId); private: @@ -326,6 +327,12 @@ OnIdleCallBack(ETrue); } +void CWindowServer::CDefaultAnimationScheduler::DoRedrawNow(MWsScreen& /*aScreen*/, MWsAnimationScheduler::MScreenUpdateObserver& aObserver) + { + OnIdleCallBack(ETrue); + aObserver.ScreenUpdateComplete(KErrNone); + } + void CWindowServer::CDefaultAnimationScheduler::ScheduleAnimation(MWsScreen& aScreen,const TTime& aWhen) { TSchedule schedule; @@ -646,7 +653,6 @@ delete iDefaultAnimationScheduler; iDefaultAnimationScheduler = NULL; // might be called from clients during server destruction - iCustomAnimationScheduler = NULL; // not owned delete iPluginManager; } @@ -714,37 +720,23 @@ /** Custom Animation Scheduler */ -TBool CWindowServer::SetCustomAnimationScheduler(MWsAnimationScheduler* aScheduler) +TBool CWindowServer::SetCustomAnimationScheduler(MWsAnimationScheduler* /*aScheduler*/) { - if(!iCustomAnimationScheduler && aScheduler) - { - iCustomAnimationScheduler = aScheduler; - return ETrue; - } return EFalse; } TBool CWindowServer::HasCustomAnimationScheduler() const { - return !!iCustomAnimationScheduler; + return EFalse; } -TBool CWindowServer::ClearCustomAnimationScheduler(MWsAnimationScheduler* aCurrentScheduler) +TBool CWindowServer::ClearCustomAnimationScheduler(MWsAnimationScheduler* /*aCurrentScheduler*/) { - if(iCustomAnimationScheduler && (iCustomAnimationScheduler == aCurrentScheduler)) - { - iCustomAnimationScheduler = NULL; - return ETrue; - } return EFalse; } MWsAnimationScheduler* CWindowServer::AnimationScheduler() { - if(iCustomAnimationScheduler) - { - return iCustomAnimationScheduler; - } return iDefaultAnimationScheduler; }