200 * Function to be called when CHuiFxEffect class effect has ended |
200 * Function to be called when CHuiFxEffect class effect has ended |
201 * @param aHandle handle of the effect, given when the effect is started |
201 * @param aHandle handle of the effect, given when the effect is started |
202 */ |
202 */ |
203 void AlfGfxEffectEndCallBack( TInt aHandle ); |
203 void AlfGfxEffectEndCallBack( TInt aHandle ); |
204 |
204 |
205 TInt FindClientWindowGroupId(CHuiControlGroup& aControlGroup ); |
205 TInt FindClientWindowGroupId( TInt aScreenNumber, CHuiControlGroup& aControlGroup ); |
206 TInt FindWindowGroupNodeId(CHuiControlGroup& aControlGroup ) const; |
206 TInt FindWindowGroupNodeId( TInt aScreenNumber, CHuiControlGroup& aControlGroup ) const; |
207 |
207 |
208 void CleanAllFxVisuals(); |
208 void CleanAllFxVisuals(); |
209 |
209 |
210 /** |
210 /** |
211 * Helper function to abort fullscreen effect |
211 * Helper function to abort fullscreen effect |
316 TBool aOnlyForEmbeddedAlfApp, |
316 TBool aOnlyForEmbeddedAlfApp, |
317 TInt aOrientation, |
317 TInt aOrientation, |
318 TInt aDuration, |
318 TInt aDuration, |
319 TBool& aCoverageRegionModified ); |
319 TBool& aCoverageRegionModified ); |
320 |
320 |
321 // Experimental |
|
322 |
|
323 /** |
|
324 * Checks if visual that's flagged as not ready for current orientation is reachable. |
|
325 */ |
|
326 TBool IsVisualNotReadyReachable(); |
|
327 |
|
328 /** |
|
329 * Recursive helper function for IsVisualNotReadyReachable. |
|
330 */ |
|
331 TBool IsVisualNotReadyReachableRecursive( |
|
332 CHuiLayout* aLayout, |
|
333 CHuiControlGroup& aControlGroup, |
|
334 CHuiControl& aControl, |
|
335 TBool& aFullscreenCovered, |
|
336 const TRect& aFullscreen, |
|
337 CAlfScreen* aScreen, |
|
338 TBool aChildCanBeOpaque, |
|
339 TBool aOnlyForEmbeddedAlfApp); |
|
340 |
321 |
341 void LayoutSwitchStart(); |
322 void LayoutSwitchStart(); |
342 void LayoutSwitchComplete(); |
323 void LayoutSwitchComplete(); |
343 |
324 |
344 RAlfBridgerClient* BridgerClient(); |
325 RAlfBridgerClient* BridgerClient(); |
422 * |
403 * |
423 * @return ETrue If storing was required and could be done. |
404 * @return ETrue If storing was required and could be done. |
424 * OR storing was not required. |
405 * OR storing was not required. |
425 */ |
406 */ |
426 TBool StoreLayoutIfRequiredByEffectL(CHuiLayout* aLayout, CFullScreenEffectState& aEvent, TBool& aNeededStoredLayout); |
407 TBool StoreLayoutIfRequiredByEffectL(CHuiLayout* aLayout, CFullScreenEffectState& aEvent, TBool& aNeededStoredLayout); |
427 |
|
428 /** |
|
429 * HandleGfxRedirection |
|
430 * |
|
431 * Redirect effect to correct application in case of effect requested for host application, but |
|
432 * embedded (chained) application is on top of it. |
|
433 * |
|
434 * If effect setup has been already made for the layout, effect is not redirected. |
|
435 */ |
|
436 void HandleGfxRedirection(CFullScreenEffectState& aEvent, CHuiLayout*& aLayout); |
|
437 |
408 |
438 /** |
409 /** |
439 * Handles begin and end fullscreen events |
410 * Handles begin and end fullscreen events |
440 */ |
411 */ |
441 TBool HandleGfxEventL(CFullScreenEffectState& aEvent, CHuiLayout* aToLayout, CHuiLayout *aFromLayout); |
412 TBool HandleGfxEventL(CFullScreenEffectState& aEvent, CHuiLayout* aToLayout, CHuiLayout *aFromLayout); |
618 |
589 |
619 void HandleSetTransparencyAlphaChannelL( TAlfBridgerData& aData ); |
590 void HandleSetTransparencyAlphaChannelL( TAlfBridgerData& aData ); |
620 |
591 |
621 void HandleIncludeToVisibilityCalculationL( TAlfBridgerData& aData ); |
592 void HandleIncludeToVisibilityCalculationL( TAlfBridgerData& aData ); |
622 |
593 |
623 void HandleSetScreenDeviceValidL( TAlfBridgerData& aData ); |
|
624 |
|
625 void HandleSetWindowAreaL( TAlfBridgerData& aData ); |
594 void HandleSetWindowAreaL( TAlfBridgerData& aData ); |
626 |
595 |
627 void HandleReorderWindowL( TAlfBridgerData& aData ); |
596 void HandleReorderWindowL( TAlfBridgerData& aData ); |
628 |
597 |
629 void HandlePostCanvasBufferL( TAlfBridgerData& aData ); |
598 void HandlePostCanvasBufferL( TAlfBridgerData& aData ); |
645 void HandleSetCursorDataL( TAlfBridgerData& aData ); |
614 void HandleSetCursorDataL( TAlfBridgerData& aData ); |
646 |
615 |
647 void HandleSetNodeTracking( TAlfBridgerData& aData ); |
616 void HandleSetNodeTracking( TAlfBridgerData& aData ); |
648 |
617 |
649 void HandleSetFadeEffectL( TAlfBridgerData& aData ); |
618 void HandleSetFadeEffectL( TAlfBridgerData& aData ); |
650 |
|
651 void HandleGroupChained( TAlfBridgerData& aData); |
|
652 |
|
653 void HandleGroupChainBroken( TAlfBridgerData& aData); |
|
654 |
619 |
655 void HandleMoveWindowToNewGroupL( TAlfBridgerData& aData ); |
620 void HandleMoveWindowToNewGroupL( TAlfBridgerData& aData ); |
656 |
621 |
657 void HandleSetLayoutSwitchEffectL(); |
622 void HandleSetLayoutSwitchEffectL(); |
658 |
623 |
744 * the pointer to visual corresponding the client side keys. |
709 * the pointer to visual corresponding the client side keys. |
745 */ |
710 */ |
746 CHuiCanvasVisual* FindVisualByClientSideIds(TUint32 aClientSideId, TUint32 aClientSideGroupId ); |
711 CHuiCanvasVisual* FindVisualByClientSideIds(TUint32 aClientSideId, TUint32 aClientSideGroupId ); |
747 |
712 |
748 /** |
713 /** |
749 * FindChainedGroup |
|
750 * |
|
751 * Find chained windowgroup from iWindowChainsArray. Return 0, if not found. |
|
752 */ |
|
753 TUint32 FindChainedGroup(TUint32 aTreeNodeId); |
|
754 |
|
755 /** |
|
756 * IsChainedGroup |
|
757 * |
|
758 * @return ETrue if group is chained. |
|
759 */ |
|
760 TBool IsChainedGroup(TUint32 aTreeNodeId); |
|
761 |
|
762 /** |
|
763 * This method finds controlgroup which has been assosiated with given window group id. |
714 * This method finds controlgroup which has been assosiated with given window group id. |
764 * Control group may or may not be active in roster. |
715 * Control group may or may not be active in roster. |
765 * |
716 * |
766 * @param aWindowGroupNodeId Node id of the window group, internal. |
717 * @param aWindowGroupNodeId Node id of the window group, internal. |
767 */ |
718 */ |
768 CHuiControlGroup* FindControlGroup(TInt aWindowGroupNodeId, TInt aScreenNumber = 0); |
719 CHuiControlGroup* FindControlGroup(TInt aWindowGroupNodeId, TInt aScreenNumber ); |
769 |
720 |
770 /** |
721 /** |
771 * This method finds controlgroup which has been assosiated with window server window group id. |
722 * This method finds controlgroup which has been assosiated with window server window group id. |
772 * |
723 * |
773 * @param aWindowGroupNodeId window server window group id of the window group, internal. |
724 * @param aWindowGroupNodeId window server window group id of the window group, internal. |
787 * @param aSecureId Secure ID to seacrh for |
738 * @param aSecureId Secure ID to seacrh for |
788 * @param aWgId Client window group ID. Ignored if -1. |
739 * @param aWgId Client window group ID. Ignored if -1. |
789 * @return Pointer to found control gruop. NULL if not found. |
740 * @return Pointer to found control gruop. NULL if not found. |
790 */ |
741 */ |
791 CHuiControlGroup* FindControlGroupBySecureId( TInt aSecureId, TInt aWgId = -1 ) const; |
742 CHuiControlGroup* FindControlGroupBySecureId( TInt aSecureId, TInt aWgId = -1 ) const; |
792 /** |
|
793 * FindControlGroupBySecureId |
|
794 * |
|
795 * Returns a list of window groups belonging to aSecureId. |
|
796 */ |
|
797 void FindControlGroupBySecureId( TInt aSecureId, RPointerArray<CHuiControlGroup>& aGroupList); |
|
798 |
743 |
799 /** |
744 /** |
800 * Finds control gruop which matches the full screen effect end state. |
745 * Finds control gruop which matches the full screen effect end state. |
801 * |
746 * |
802 * @return Pointer to found control gruop. NULL if not found. |
747 * @return Pointer to found control gruop. NULL if not found. |
814 * This method deletes controlgroup which has been assosiated with given window group id. |
759 * This method deletes controlgroup which has been assosiated with given window group id. |
815 * Control group may or may not be active in roster. |
760 * Control group may or may not be active in roster. |
816 * |
761 * |
817 * @param aWindowGroupNodeId Node id of the window group, internal. |
762 * @param aWindowGroupNodeId Node id of the window group, internal. |
818 */ |
763 */ |
819 void DeleteControlGroupL(TInt aWindowGroupNodeId, TInt aScreenNumber = 0); |
764 void DeleteControlGroupL(TInt aWindowGroupNodeId, TInt aScreenNumber ); |
820 |
765 |
821 /** |
766 /** |
822 * Creates a control group |
767 * Creates a control group |
823 * |
768 * |
824 * @param aWindowGroupNodeId Node id of the window group, internal. |
769 * @param aWindowGroupNodeId Node id of the window group, internal. |
906 * This is for updating all the layout that are created to correspond the window server window groups. |
851 * This is for updating all the layout that are created to correspond the window server window groups. |
907 * This should be called immediately when layout switch happens. Layout extents must be update then otherwise |
852 * This should be called immediately when layout switch happens. Layout extents must be update then otherwise |
908 * visibility calculations will clip to old sizes. |
853 * visibility calculations will clip to old sizes. |
909 */ |
854 */ |
910 void UpdateRootVisualsToFullscreen(); |
855 void UpdateRootVisualsToFullscreen(); |
911 |
|
912 /** |
|
913 * Report memory consumption details (if enabled). |
|
914 */ |
|
915 void ReportMemory(); |
|
916 |
|
917 /** |
|
918 * Clears rasterizer cache. |
|
919 */ |
|
920 void ClearRasterizerCache(); |
|
921 |
856 |
922 private: |
857 private: |
923 |
858 |
924 RPointerArray<CAlfScreen> iAlfScreens; |
859 RPointerArray<CAlfScreen> iAlfScreens; |
925 void SetCursorTimerL(TUint aTime = 0, CHuiVisual* aCursor = 0); |
860 void SetCursorTimerL(TUint aTime = 0, CHuiVisual* aCursor = 0); |
1072 TInt32 iClientSideId; |
1007 TInt32 iClientSideId; |
1073 TInt32 iClientSideGroupId; |
1008 TInt32 iClientSideGroupId; |
1074 }; |
1009 }; |
1075 |
1010 |
1076 RHashMap<TUint32,THashVisualStruct> iWindowHashArray; |
1011 RHashMap<TUint32,THashVisualStruct> iWindowHashArray; |
1077 |
|
1078 class TChainData |
|
1079 { |
|
1080 public: |
|
1081 TChainData(TUint32 aParent, TUint32 aChainee) : iParent(aParent), iChainee(aChainee) |
|
1082 { |
|
1083 } |
|
1084 TUint32 iParent; |
|
1085 TUint32 iChainee; |
|
1086 }; |
|
1087 RHashMap<TUint32,TChainData> iWindowChainsArray; |
|
1088 |
|
1089 CHuiControl* iOrphanStorage; // owned. holds the visuals which are orphaned from their control group |
1012 CHuiControl* iOrphanStorage; // owned. holds the visuals which are orphaned from their control group |
1090 class TRegisteredEffectsStruct |
1013 class TRegisteredEffectsStruct |
1091 { |
1014 { |
1092 public: |
1015 public: |
1093 TRegisteredEffectsStruct() |
1016 TRegisteredEffectsStruct() |