--- a/uiacceltk/hitchcock/ServerCore/Inc/alfbridge.h Mon Jun 21 16:41:52 2010 +0300
+++ b/uiacceltk/hitchcock/ServerCore/Inc/alfbridge.h Thu Jul 15 19:40:07 2010 +0300
@@ -159,7 +159,7 @@
CHuiRoster& aRoster,
CHuiControlGroup& aGroup,
TInt aWhere,
- TInt aScreenNumber );
+ TInt aScreenNumber = 0);
/**
* This method sets the windowgroup id for the alf window.
@@ -202,8 +202,8 @@
*/
void AlfGfxEffectEndCallBack( TInt aHandle );
- TInt FindClientWindowGroupId( TInt aScreenNumber, CHuiControlGroup& aControlGroup );
- TInt FindWindowGroupNodeId( TInt aScreenNumber, CHuiControlGroup& aControlGroup ) const;
+ TInt FindClientWindowGroupId(CHuiControlGroup& aControlGroup );
+ TInt FindWindowGroupNodeId(CHuiControlGroup& aControlGroup ) const;
void CleanAllFxVisuals();
@@ -406,6 +406,7 @@
*/
TBool StoreLayoutIfRequiredByEffectL(CHuiLayout* aLayout, CFullScreenEffectState& aEvent, TBool& aNeededStoredLayout);
+ void HandleGfxRedirection(CFullScreenEffectState& aEvent, CHuiLayout*& aLayout);
/**
* Handles begin and end fullscreen events
*/
@@ -617,6 +618,10 @@
void HandleSetFadeEffectL( TAlfBridgerData& aData );
+ void HandleGroupChained( TAlfBridgerData& aData);
+
+ void HandleGroupChainBroken( TAlfBridgerData& aData);
+
void HandleMoveWindowToNewGroupL( TAlfBridgerData& aData );
void HandleSetLayoutSwitchEffectL();
@@ -711,12 +716,26 @@
CHuiCanvasVisual* FindVisualByClientSideIds(TUint32 aClientSideId, TUint32 aClientSideGroupId );
/**
+ * FindChainedGroup
+ *
+ * Find chained windowgroup from iWindowChainsArray. Return 0, if not found.
+ */
+ TUint32 FindChainedGroup(TUint32 aTreeNodeId);
+
+ /**
+ * IsChainedGroup
+ *
+ * @return ETrue if group is chained.
+ */
+ TBool IsChainedGroup(TUint32 aTreeNodeId);
+
+ /**
* This method finds controlgroup which has been assosiated with given window group id.
* Control group may or may not be active in roster.
*
* @param aWindowGroupNodeId Node id of the window group, internal.
*/
- CHuiControlGroup* FindControlGroup(TInt aWindowGroupNodeId, TInt aScreenNumber );
+ CHuiControlGroup* FindControlGroup(TInt aWindowGroupNodeId, TInt aScreenNumber = 0);
/**
* This method finds controlgroup which has been assosiated with window server window group id.
@@ -740,6 +759,12 @@
* @return Pointer to found control gruop. NULL if not found.
*/
CHuiControlGroup* FindControlGroupBySecureId( TInt aSecureId, TInt aWgId = -1 ) const;
+ /**
+ * FindControlGroupBySecureId
+ *
+ * Returns a list of window groups belonging to aSecureId.
+ */
+ void FindControlGroupBySecureId( TInt aSecureId, RPointerArray<CHuiControlGroup>& aGroupList);
/**
* Finds control gruop which matches the full screen effect end state.
@@ -761,7 +786,7 @@
*
* @param aWindowGroupNodeId Node id of the window group, internal.
*/
- void DeleteControlGroupL(TInt aWindowGroupNodeId, TInt aScreenNumber );
+ void DeleteControlGroupL(TInt aWindowGroupNodeId, TInt aScreenNumber = 0);
/**
* Creates a control group
@@ -787,7 +812,7 @@
*
*/
- void ReorderAlfControlGroupsL( TInt aScreenNumber );
+ void ReorderAlfControlGroupsL( TInt aScreenNumber = 0);
/**
* Called to notify the observer that a display refresh is about to begin.
@@ -1009,6 +1034,18 @@
};
RHashMap<TUint32,THashVisualStruct> iWindowHashArray;
+
+ class TChainData
+ {
+ public:
+ TChainData(TUint32 aParent, TUint32 aChainee) : iParent(aParent), iChainee(aChainee)
+ {
+ }
+ TUint32 iParent;
+ TUint32 iChainee;
+ };
+ RHashMap<TUint32,TChainData> iWindowChainsArray;
+
CHuiControl* iOrphanStorage; // owned. holds the visuals which are orphaned from their control group
class TRegisteredEffectsStruct
{