uiacceltk/hitchcock/ServerCore/Src/alfnodes.cpp
branchRCL_3
changeset 8 10534483575f
parent 7 433cbbb6a04b
child 10 88b23e2e82e1
--- a/uiacceltk/hitchcock/ServerCore/Src/alfnodes.cpp	Fri Mar 12 15:47:04 2010 +0200
+++ b/uiacceltk/hitchcock/ServerCore/Src/alfnodes.cpp	Mon Mar 15 12:43:37 2010 +0200
@@ -1476,6 +1476,8 @@
             		{
                     iWindow->SetActive( EFalse );
             		}
+            	
+            	iWindow->IncludeToVisibilityCalculation( iVisible && iNodeActivated );
             	}
             break;
             }
@@ -1488,6 +1490,10 @@
         case MWsWindowTreeObserver::EAlphaChannelTransparencyEnabled:
             {
             iAlphaChannelTransparencyEnabled = aNewValue;
+            if ( iWindow )
+                {
+                iWindow->SetTransparencyAlphaChannel( aNewValue );
+                }
             break;
             }
         }
@@ -1637,7 +1643,9 @@
         		{
         		iWindow->SetActive( ETrue );
         		}
-        	}
+        	
+        	iWindow->IncludeToVisibilityCalculation( iVisible && iNodeActivated );
+            }
          }
      else
          {
@@ -1762,6 +1770,38 @@
 	}
 
 // ---------------------------------------------------------------------------
+// SetWindowAreaL
+// ---------------------------------------------------------------------------
+//
+void CAlfNodeWindow::SetWindowAreaL( RMemReadStream* aStream )
+    {
+    TPoint pos;
+    RRegion region;
+    CleanupClosePushL( region );
+    
+    pos.iX = aStream->ReadInt32L();
+    pos.iY = aStream->ReadInt32L();
+    
+    TInt count = aStream->ReadInt32L();
+    for ( TInt i = 0; i < count; ++i )
+        {
+        TRect r;
+        aStream->ReadL((TUint8*)&r.iTl.iX, 4 * sizeof(TInt32 ));
+        region.AddRect(r);
+        }
+    
+    if ( region.CheckError() )
+        {
+        // Fallback to non-shape version
+        region.Clear();
+        }
+    
+    iWindow->SetWindowArea( pos, region );
+    
+    CleanupStack::PopAndDestroy();
+    }
+
+// ---------------------------------------------------------------------------
 // NewL
 // ---------------------------------------------------------------------------
 //