uiacceltk/hitchcock/AlfDecoderServerClient/src/alfcompositionclient.cpp
changeset 14 83d2d132aa58
parent 0 15bf7259bb7c
child 19 f5bac0badc7e
--- a/uiacceltk/hitchcock/AlfDecoderServerClient/src/alfcompositionclient.cpp	Fri Mar 19 09:43:21 2010 +0200
+++ b/uiacceltk/hitchcock/AlfDecoderServerClient/src/alfcompositionclient.cpp	Fri Apr 16 15:56:24 2010 +0300
@@ -258,6 +258,11 @@
         return;
         }    
     
+    if (aEventType == KAlfCompositionLayoutSwitchComplete && iController)
+        {
+        iController->AlfBridgeCallback(KAlfCompositionLayoutSwitchComplete, NULL);
+        }
+    
     TInt* ptr = static_cast<TInt*>(aEventData);
     TInt target;
     
@@ -386,7 +391,18 @@
             iController->DeleteTarget(target);
             break;
             }
-            
+        
+        case KAlfCompositionTargetVisible:
+            {
+            iController->HideTarget(target, EFalse);
+            break;
+            }    
+
+        case KAlfCompositionTargetHidden:
+            {
+            iController->HideTarget(target, ETrue);
+            break;
+            }    
         default:
             break;
         }
@@ -813,6 +829,8 @@
     TInt iCurrentBuffer;
     
     TRect iSurfaceRect;
+    
+    TInt iWaiterAoPriority;
     };
 
 
@@ -825,12 +843,26 @@
     {
     CAlfCompositionPixelSource* me = new (ELeave) CAlfCompositionPixelSource();
     CleanupStack::PushL(me);
-    me->ConstructL(aProvider, aWindow);
+    me->ConstructL(aProvider, CActive::EPriorityIdle, aWindow);
     CleanupStack::Pop(me);
     return me;    
     }
 
 // ---------------------------------------------------------------------------
+// CAlfCompositionPixelSource::NewL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CAlfCompositionPixelSource* CAlfCompositionPixelSource::NewL(MAlfBufferProvider& aProvider, TInt aPriority, RWindow* aWindow)
+    {
+    CAlfCompositionPixelSource* me = new (ELeave) CAlfCompositionPixelSource();
+    CleanupStack::PushL(me);
+    me->ConstructL(aProvider, aPriority, aWindow);
+    CleanupStack::Pop(me);
+    return me;    
+    }
+
+
+// ---------------------------------------------------------------------------
 // CAlfCompositionPixelSource::ActivateL
 // ---------------------------------------------------------------------------
 //
@@ -862,7 +894,7 @@
         {
         if( !iData->iSurfaceUpdateWaiter )
             {
-            iData->iSurfaceUpdateWaiter = new (ELeave) CSurfaceUpdateCallback( *this, 0, CActive::EPriorityIdle );
+            iData->iSurfaceUpdateWaiter = new (ELeave) CSurfaceUpdateCallback( *this, 0, iData->iWaiterAoPriority );
             }
 
         iData->iSurfaceUpdateWaiter->SetActive();
@@ -950,9 +982,11 @@
 // CAlfCompositionPixelSource::ConstructL
 // ---------------------------------------------------------------------------
 //
-void CAlfCompositionPixelSource::ConstructL(MAlfBufferProvider& aProvider, RWindow* aWindow)
+void CAlfCompositionPixelSource::ConstructL(MAlfBufferProvider& aProvider, TInt aPriority, RWindow* aWindow)
     {
     iData = CAlfCompositionPixelSourceData::NewL( aProvider );
+    iData->iWaiterAoPriority = aPriority;
+
     TInt screenNumber = KErrNotFound;
     if( aWindow )
         {