--- 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
// ---------------------------------------------------------------------------
//