uiacceltk/hitchcock/AlfRenderStage/src/alfrenderstage.cpp
branchRCL_3
changeset 8 10534483575f
parent 7 433cbbb6a04b
child 10 88b23e2e82e1
--- a/uiacceltk/hitchcock/AlfRenderStage/src/alfrenderstage.cpp	Fri Mar 12 15:47:04 2010 +0200
+++ b/uiacceltk/hitchcock/AlfRenderStage/src/alfrenderstage.cpp	Mon Mar 15 12:43:37 2010 +0200
@@ -593,7 +593,7 @@
 	
     AMT_INC_COUNTER_IF(nodeType==MWsWindowTreeNode::EWinTreeNodeClient, iRsWindowNodeCount ); 
     AMT_INC_COUNTER_IF(nodeType==MWsWindowTreeNode::EWinTreeNodeGroup,  iRsWindowGroupNodeCount ); 
-    AMT_INC_COUNTER(iRsWindowGroupNodeCount ); 
+    AMT_INC_COUNTER(iRsTotalNodeCount ); 
     }
 
 // ---------------------------------------------------------------------------
@@ -636,7 +636,7 @@
 
     AMT_DEC_COUNTER_IF(nodeType==MWsWindowTreeNode::EWinTreeNodeClient, iRsWindowNodeCount ); 
     AMT_DEC_COUNTER_IF(nodeType==MWsWindowTreeNode::EWinTreeNodeGroup,  iRsWindowGroupNodeCount ); 
-    AMT_DEC_COUNTER(iRsWindowGroupNodeCount ); 
+    AMT_DEC_COUNTER(iRsTotalNodeCount ); 
     }
 
 // ---------------------------------------------------------------------------
@@ -695,6 +695,12 @@
 
     AMT_INC_COUNTER( iRsNodeExtentChangedCount );
     AMT_SET_VALUE( iRsLatestNodeExtentRect, aRect );
+    AMT_MAP_SET_VALUE_IF( ( aWindowTreeNode.Window() ),
+                          iSizeMap, aWindowTreeNode.Window()->Handle(), 
+                          aRect.Size(), EAlfModuleTestTypeRenderStageChangeSize );
+    AMT_MAP_SET_VALUE_IF( ( aWindowTreeNode.Window() ),
+                          iPositionMap, aWindowTreeNode.Window()->Handle(), 
+                          aRect.iTl, EAlfModuleTestTypeRenderStageChangePosition );
     }
 
 // ---------------------------------------------------------------------------
@@ -729,14 +735,52 @@
 	iAlfSendBuffer->CommitL();
 
     AMT_INC_COUNTER( iRsTotalNodeFlagChangedCount );
+    AMT_MAP_INC_VALUE_IF( ( aWindowTreeNode.Window() ),
+                          iIntMap, aWindowTreeNode.Window()->Handle(), 
+                          EAlfModuleTestTypeRenderStageChangeFlag );
     }
 
 // ---------------------------------------------------------------------------
 // AttributeChanged
 // ---------------------------------------------------------------------------
 //
-void CAlfRenderStage::AttributeChanged(const MWsWindowTreeNode& aWindowTreeNode, TInt aAttribute )
+void CAlfRenderStage::AttributeChanged(const MWsWindowTreeNode& aWindowTreeNode, TInt aAttribute)
     {
+    if ( aWindowTreeNode.NodeType() == MWsWindowTreeNode::EWinTreeNodeClient &&
+         aWindowTreeNode.Window() != NULL )
+        {
+        TInt32 nodeId = (TInt32)&aWindowTreeNode;
+        
+        switch ( aAttribute )
+            {
+        case MWsWindowTreeObserver::EWindowShape:
+            {
+            TPoint origin( aWindowTreeNode.Window()->AbsRect().iTl );
+            
+            if ( aWindowTreeNode.Window()->WindowArea().Count() )
+                {
+                iAlfSendBuffer->WriteRegionIntsL( 
+                    EAlfNodeSetWindowArea, 
+                    aWindowTreeNode.Window()->WindowArea(), 
+                    3, 
+                    nodeId, 
+                    origin.iX,
+                    origin.iY );
+                }
+            else
+                {
+                iAlfSendBuffer->WriteIntsL( EAlfNodeSetWindowArea, 4, nodeId, 0, 0, 0 ); // no region
+                }
+            
+            iAlfSendBuffer->CommitL();
+            }
+            break;
+            
+        default:
+            break;
+            }
+        }
+        
     if ( aWindowTreeNode.NodeType() == MWsWindowTreeNode::EWinTreeNodeStandardTextCursor )
         {
         TInt32 nodeId = (TInt32)&aWindowTreeNode;
@@ -1059,7 +1103,9 @@
             }
         case CAlfHintGraphic::EAlfEndSubWindow:
             {
+#ifdef RD_SUBWINDOW_EFFECTS            
             iAlfSendBuffer->EndMarkerL();
+#endif
             break;
             }
             
@@ -1076,7 +1122,9 @@
         {
         case CAlfHintGraphic::EAlfBeginSubWindow:
             {
+#ifdef RD_SUBWINDOW_EFFECTS             
             iAlfSendBuffer->StartMarkerL(aBoundingRectangle, aLayerId);
+#endif
             break;
             }
         }