--- 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 <uiacceltk/HuiTextVisual.h>
#include <uiacceltk/HuiGradientBrush.h>
#include <apgwgnam.h>
+#include <akntransitionutils.h>
+#include "alfeffectutils.h"
#ifdef ALF_USE_CANVAS
#include <uiacceltk/HuiCanvasVisual.h>
@@ -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