uiacceltk/hitchcock/ServerCore/Src/alfwindowmanager.cpp
branchRCL_3
changeset 34 3a60ebea00d0
parent 10 88b23e2e82e1
child 50 1801340c26a2
equal deleted inserted replaced
24:f93c875b566e 34:3a60ebea00d0
    72     TInt iScreenId;
    72     TInt iScreenId;
    73     
    73     
    74     RPointerArray<CAlfWindow> iWindows;
    74     RPointerArray<CAlfWindow> iWindows;
    75     RArray<TPluginInfo> iPlugins;
    75     RArray<TPluginInfo> iPlugins;
    76     CAlfHierarchyModel* iTree;
    76     CAlfHierarchyModel* iTree;
    77     
       
    78     RPointerArray<CAlfWindow> iChangedWindows;    
       
    79     };
    77     };
    80 
    78 
    81 // ---------------------------------------------------------------------------
    79 // ---------------------------------------------------------------------------
    82 // FindPlugin
    80 // FindPlugin
    83 // ---------------------------------------------------------------------------
    81 // ---------------------------------------------------------------------------
   438 // ContentReady
   436 // ContentReady
   439 // ---------------------------------------------------------------------------
   437 // ---------------------------------------------------------------------------
   440 //
   438 //
   441 void CAlfWindowManager::ContentReady(CAlfWindow& aWindow, CAlfWindowBuffer* aOutBuffer)
   439 void CAlfWindowManager::ContentReady(CAlfWindow& aWindow, CAlfWindowBuffer* aOutBuffer)
   442     {
   440     {
   443     //ASSERT(iData->iChangedWindows.Find(&aWindow) == KErrNotFound); // no plugin should produce more frames
       
   444                                                             // than actually bound to scene
       
   445     iData->iChangedWindows.Append(&aWindow);
       
   446 
       
   447     if(!aWindow.IsInsertedToScene())
   441     if(!aWindow.IsInsertedToScene())
   448     	{
   442     	{
   449     	TRAPD( err, BindWindowToHitchL(&aWindow, this) );
   443     	TRAPD( err, BindWindowToHitchL(&aWindow, this) );
   450     	if (err)
   444     	if (err)
   451     	    {
   445     	    {
   646 // PrepareNewFrame
   640 // PrepareNewFrame
   647 // ---------------------------------------------------------------------------
   641 // ---------------------------------------------------------------------------
   648 //   
   642 //   
   649 void CAlfWindowManager::PrepareNewFrame(TUint aEstimatedInterval)
   643 void CAlfWindowManager::PrepareNewFrame(TUint aEstimatedInterval)
   650     {
   644     {
   651     iData->iChangedWindows.Reset();
       
   652     for (TInt i = iData->iPlugins.Count()-1; i >= 0 ; i--)
   645     for (TInt i = iData->iPlugins.Count()-1; i >= 0 ; i--)
   653         {
   646         {
   654         TRAP_IGNORE(iData->iPlugins[i].iPlugin->PrepareFrameL(aEstimatedInterval));
   647         TRAP_IGNORE(iData->iPlugins[i].iPlugin->PrepareFrameL(aEstimatedInterval));
   655         // for now, just ignore error. When collecting complete frames, we could use this info though
   648         // for now, just ignore error. When collecting complete frames, we could use this info though
   656         }    
   649         }