diff -r 433cbbb6a04b -r 10534483575f uiacceltk/hitchcock/ServerCore/Src/alfappui.cpp --- a/uiacceltk/hitchcock/ServerCore/Src/alfappui.cpp Fri Mar 12 15:47:04 2010 +0200 +++ b/uiacceltk/hitchcock/ServerCore/Src/alfappui.cpp Mon Mar 15 12:43:37 2010 +0200 @@ -36,6 +36,8 @@ #include #include #include +#include +#include "alfeffectutils.h" #ifdef ALF_USE_CANVAS #include @@ -518,7 +520,7 @@ #endif // This is a workaround for possibly missing command buffers at layout switch - iWsSession.ClearAllRedrawStores(); + // iWsSession.ClearAllRedrawStores(); __ALFLOGSTRING2("ALF EventWin: Size(%d,%d)", iWindow->Size().iWidth, iWindow->Size().iHeight ); //and fall through @@ -641,8 +643,6 @@ CHuiDisplay* iMainDisplay; CHuiDisplay* iTVDisplay; CAlfEventBridge* iEventAo; - RAlfTfxClient iDsServer; - TBool iDsActivated; }; // ======== MEMBER FUNCTIONS ======== @@ -980,7 +980,7 @@ { if (iData->iMainDisplay) // TBD: multiple display support once again... { - iData->iMainDisplay->SetClearBackgroundL(CHuiDisplay::EClearNone); + TRAP_IGNORE(iData->iMainDisplay->SetClearBackgroundL(CHuiDisplay::EClearNone)); } } } @@ -1406,26 +1406,6 @@ // void CAlfAppUi::NotifyLowMemory(TInt aAmountOfFreeMemRequested) { - if (!iData->iDsActivated) - { - if (iData->iDsServer.Open() == KErrNone) - { - iData->iDsActivated = ETrue; - } - } - - if (iData->iDsActivated ) - { - if (!aAmountOfFreeMemRequested) - { - iData->iDsServer.SendSynch(KAlfCompositionGoodOnGraphicsMemory, TIpcArgs()); - } - else - { - iData->iDsServer.SendSynch(KAlfCompositionLowOnGraphicsMemory, TIpcArgs()); - } - } - /* // Toggle between normal & low memory levels if (!aAmountOfFreeMemRequested) @@ -1458,8 +1438,76 @@ return iData->iBridgeObj->ForceSwRendering( aEnabled ); } +// --------------------------------------------------------------------------- +// GetSizeAndRotation +// --------------------------------------------------------------------------- +// +TInt CAlfAppUi::GetSizeAndRotation(TSize& aSize, TInt& aRotation) + { + return iData->iBridgeObj->GetSizeAndRotation(aSize, aRotation); + } + +// --------------------------------------------------------------------------- +// ReadPixels +// --------------------------------------------------------------------------- +// +TInt CAlfAppUi::ReadPixels(CFbsBitmap* aBitmap) + { + return iData->iBridgeObj->ReadPixels(aBitmap); + } + void CAlfAppUi::SetAlfAppWindowGroup( TInt aID ) { iData->iBridgeObj->SetWindowGroupAsAlfApp( aID ); } + +CAlfAppSrvSessionBase* CAlfAppUi::SrvSessionForControlGroup(CHuiControlGroup& aGroup) + { + return iData->iServer->SrvSessionForControlGroup(aGroup); + } + +void CAlfAppUi::DoBlankScreen(const RMessage2& aMessage) + { + __ALFLOGSTRING("CAlfAppUi::DoBlankScreen >>"); + TSecureId capServerId(0x10207218); + TSecurityPolicy policy(capServerId); + if (!policy.CheckPolicy(aMessage)) + { + User::Leave(KErrPermissionDenied); + } + + if (iData->iBridgeObj->LayoutSwitchEffectCoordinator()) + { + iData->iBridgeObj->LayoutSwitchEffectCoordinator()->EnableSafeCounter(EFalse); // let capserver rule + } + + TBool pause = aMessage.Int0(); + if ( pause && + CAknTransitionUtils::TransitionsEnabled(AknTransEffect::ELayoutswitchTransitionsOff ) && + iData->iBridgeObj->LayoutSwitchEffectCoordinator() && + iData->iBridgeObj->LayoutSwitchEffectCoordinator()->LayoutSwitchEffectsExist() + ) + { // don't pause if effects are there, releasing the blanker needs to be allowed still + __ALFLOGSTRING("CAlfAppUi::DoBlankScreen << - Effects on"); + return; + } + + if (pause != iData->iHuiEnv->iPauseDrawing) + { + iData->iHuiEnv->iPauseDrawing = pause; + __ALFLOGSTRING1("CAlfAppUi::DoBlankScreen pausing %d",pause); + TRAP_IGNORE(iData->iHuiEnv->Display(0).Roster().FreezeVisibleContentL(pause)); + if (!pause) + { // make sure that toolkit will traverse through scene + iData->iHuiEnv->StartRefresh(1); + } + else + { + iData->iBridgeObj->LayoutSwitchEffectCoordinator()->Cancel(); + } + } + __ALFLOGSTRING("CAlfAppUi::DoBlankScreen <<"); + // let the session complete message + } + // end of file