uiacceltk/hitchcock/AlfRenderStage/src/alfrenderstage.cpp
branchRCL_3
changeset 41 cd0ae4656946
parent 17 3ac8bf5c5014
equal deleted inserted replaced
34:3a60ebea00d0 41:cd0ae4656946
    69 	iScreen = NULL;
    69 	iScreen = NULL;
    70 	delete iAlfSendBuffer;
    70 	delete iAlfSendBuffer;
    71 	delete iWsGraphicsContext;
    71 	delete iWsGraphicsContext;
    72 	delete iGoomSession;
    72 	delete iGoomSession;
    73 	
    73 	
    74     #ifdef USE_MODULE_TEST_HOOKS_FOR_ALF
    74 	AMT_FREE_TLS();
    75     if (Dll::Tls()!=NULL) 
       
    76         {
       
    77         delete AMT_CONTROL();
       
    78         Dll::FreeTls();
       
    79         }
       
    80     #endif
       
    81 
    75 
    82     // Used just as a temporary holding place, do not delete!
    76     // Used just as a temporary holding place, do not delete!
    83 	iWindowDrawingNode = NULL;	
    77 	iWindowDrawingNode = NULL;	
    84 	}
    78 	}
    85 
    79 
   115     if (compcntrl)
   109     if (compcntrl)
   116       {
   110       {
   117       compcntrl->AlfBridgeCallback(MAlfBridge::ESetWindowTreeObserver,(MAlfCompositionAgnosticWindowTreeObserver*)this);  
   111       compcntrl->AlfBridgeCallback(MAlfBridge::ESetWindowTreeObserver,(MAlfCompositionAgnosticWindowTreeObserver*)this);  
   118       }
   112       }
   119 
   113 
   120     #ifdef USE_MODULE_TEST_HOOKS_FOR_ALF    
   114     AMT_SET_TLS();
   121     // Setup TLS and open global module testing chunk and mutex
       
   122     if (Dll::Tls()==NULL) // create only for the first render stage!
       
   123         {
       
   124         User::LeaveIfError(Dll::SetTls(new(ELeave) CAlfModuleTestDataControl()));
       
   125         User::LeaveIfError(AMT_CONTROL()->OpenGlobalObjects());
       
   126         }
       
   127     #endif         
       
   128     
   115     
   129     __ALFLOGSTRING("CAlfRenderStage: ready to rock");
   116     __ALFLOGSTRING("CAlfRenderStage: ready to rock");
   130     }
   117     }
   131 
   118 
   132 // ---------------------------------------------------------------------------
   119 // ---------------------------------------------------------------------------
   595         iAlfSendBuffer->WriteIntsL( EAlfDebugTrackNode, 2, (TInt32)&aWindowTreeNode, 1 );
   582         iAlfSendBuffer->WriteIntsL( EAlfDebugTrackNode, 2, (TInt32)&aWindowTreeNode, 1 );
   596         }
   583         }
   597 #endif    
   584 #endif    
   598 	iAlfSendBuffer->CommitL();
   585 	iAlfSendBuffer->CommitL();
   599 	
   586 	
   600     AMT_INC_COUNTER_IF(nodeType==MWsWindowTreeNode::EWinTreeNodeClient, iRsWindowNodeCount ); 
       
   601     AMT_INC_COUNTER_IF(nodeType==MWsWindowTreeNode::EWinTreeNodeGroup,  iRsWindowGroupNodeCount ); 
       
   602     AMT_INC_COUNTER(iRsTotalNodeCount );
       
   603     
       
   604     AMT_MAP_RENDER_STAGE_NODE_CREATED();
   587     AMT_MAP_RENDER_STAGE_NODE_CREATED();
   605     }
   588     }
   606 
   589 
   607 // ---------------------------------------------------------------------------
   590 // ---------------------------------------------------------------------------
   608 // NodeReleased
   591 // NodeReleased
   640 	else
   623 	else
   641 	    {
   624 	    {
   642 	    __ALFLOGSTRING("CAlfRenderStage::NodeReleased - WARNING: Node not found!!");
   625 	    __ALFLOGSTRING("CAlfRenderStage::NodeReleased - WARNING: Node not found!!");
   643 	    }
   626 	    }
   644 
   627 
   645     AMT_DEC_COUNTER_IF(nodeType==MWsWindowTreeNode::EWinTreeNodeClient, iRsWindowNodeCount ); 
   628 	AMT_MAP_RENDER_STAGE_NODE_RELEASED();
   646     AMT_DEC_COUNTER_IF(nodeType==MWsWindowTreeNode::EWinTreeNodeGroup,  iRsWindowGroupNodeCount ); 
       
   647     AMT_DEC_COUNTER(iRsTotalNodeCount );
       
   648     
       
   649     AMT_MAP_INC_VALUE_IF( ( MWsWindowTreeNode::EWinTreeNodeClient == nodeType && aWindowTreeNode.Window() ),
       
   650                           iIntMap, aWindowTreeNode.Window()->Handle(),
       
   651                           EAlfModuleTestTypeRenderStageReleaseWindow );
       
   652     AMT_MAP_INC_VALUE_IF( ( MWsWindowTreeNode::EWinTreeNodeGroup == nodeType && aWindowTreeNode.WindowGroup() ),
       
   653                           iIntMap, aWindowTreeNode.WindowGroup()->Identifier(),
       
   654                           EAlfModuleTestTypeRenderStageReleaseWindowGroup );    
       
   655     }
   629     }
   656 
   630 
   657 // ---------------------------------------------------------------------------
   631 // ---------------------------------------------------------------------------
   658 // NodeActivated
   632 // NodeActivated
   659 // ---------------------------------------------------------------------------
   633 // ---------------------------------------------------------------------------
   668         &aWindowTreeNode );
   642         &aWindowTreeNode );
   669 
   643 
   670 	iAlfSendBuffer->CommitL();
   644 	iAlfSendBuffer->CommitL();
   671     __ALFLOGSTRING("CAlfRenderStage::NodeActivated <<");
   645     __ALFLOGSTRING("CAlfRenderStage::NodeActivated <<");
   672    
   646    
   673     AMT_INC_COUNTER_IF(nodeType==MWsWindowTreeNode::EWinTreeNodeClient, iRsWindowNodeActivatedCount );
   647     AMT_MAP_RENDER_STAGE_NODE_ACTIVATED();
   674     
       
   675     AMT_MAP_SET_VALUE_IF( nodeType == MWsWindowTreeNode::EWinTreeNodeClient, 
       
   676                           iBoolMap, aWindowTreeNode.Window()->Handle(), ETrue, 
       
   677                           EAlfModuleTestTypeRenderStageActiveWindow );
       
   678     }
   648     }
   679 
   649 
   680 // ---------------------------------------------------------------------------
   650 // ---------------------------------------------------------------------------
   681 // NodeExtentChanged
   651 // NodeExtentChanged
   682 // ---------------------------------------------------------------------------
   652 // ---------------------------------------------------------------------------
   710             &aWindowTreeNode
   680             &aWindowTreeNode
   711             );    
   681             );    
   712         }
   682         }
   713 	iAlfSendBuffer->CommitL();
   683 	iAlfSendBuffer->CommitL();
   714 
   684 
   715     AMT_INC_COUNTER( iRsNodeExtentChangedCount );
   685 	AMT_MAP_RENDER_STAGE_NODE_EXTENT_CHANGED();
   716     AMT_SET_VALUE( iRsLatestNodeExtentRect, aRect );
       
   717     
       
   718     AMT_MAP_SET_VALUE_IF( ( aWindowTreeNode.Window() ),
       
   719                           iSizeMap, aWindowTreeNode.Window()->Handle(),
       
   720                           aRect.Size(), EAlfModuleTestTypeRenderStageChangeWindowSize );
       
   721     AMT_MAP_SET_VALUE_IF( ( aWindowTreeNode.Window() ),
       
   722                           iPositionMap, aWindowTreeNode.Window()->Handle(),
       
   723                           aRect.iTl, EAlfModuleTestTypeRenderStageChangeWindowPosition );
       
   724     }
   686     }
   725 
   687 
   726 // ---------------------------------------------------------------------------
   688 // ---------------------------------------------------------------------------
   727 // SiblingOrderChanged
   689 // SiblingOrderChanged
   728 // ---------------------------------------------------------------------------
   690 // ---------------------------------------------------------------------------
   752             aFlag,
   714             aFlag,
   753             aNewValue,
   715             aNewValue,
   754             &aWindowTreeNode   );
   716             &aWindowTreeNode   );
   755 	iAlfSendBuffer->CommitL();
   717 	iAlfSendBuffer->CommitL();
   756 
   718 
   757     AMT_INC_COUNTER( iRsTotalNodeFlagChangedCount );
   719 	AMT_MAP_RENDER_STAGE_FLAG_CHANGED();
   758     
       
   759     AMT_MAP_SET_VALUE_IF( ( aWindowTreeNode.Window() && MWsWindowTreeObserver::EVisible == aFlag ),
       
   760                           iBoolMap, 
       
   761                           aWindowTreeNode.Window()->Handle(),
       
   762                           aNewValue,
       
   763                           EAlfModuleTestTypeRenderStageChangeWindowVisibility );
       
   764     }
   720     }
   765 
   721 
   766 // ---------------------------------------------------------------------------
   722 // ---------------------------------------------------------------------------
   767 // AttributeChanged
   723 // AttributeChanged
   768 // ---------------------------------------------------------------------------
   724 // ---------------------------------------------------------------------------
   856                         aWindowTreeNode.StandardTextCursor()->Color().Internal() );
   812                         aWindowTreeNode.StandardTextCursor()->Color().Internal() );
   857                 break;
   813                 break;
   858                 }
   814                 }
   859             }
   815             }
   860         iAlfSendBuffer->CommitL();
   816         iAlfSendBuffer->CommitL();
   861         
       
   862         AMT_INC_COUNTER( iRsTotalNodeAttributeChangedCount );
       
   863         }
   817         }
   864     
   818     
   865     AMT_MAP_RENDER_STAGE_TEXT_CURSOR_CHANGE();
   819     AMT_MAP_RENDER_STAGE_TEXT_CURSOR_CHANGE();
   866     }
   820     }
   867 
   821