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( TInt aScreenNumber, CHuiControlGroup& aControlGroup ); |
205 TInt FindClientWindowGroupId(CHuiControlGroup& aControlGroup ); |
206 TInt FindWindowGroupNodeId( TInt aScreenNumber, CHuiControlGroup& aControlGroup ) const; |
206 TInt FindWindowGroupNodeId(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); |
321 |
340 |
322 void LayoutSwitchStart(); |
341 void LayoutSwitchStart(); |
323 void LayoutSwitchComplete(); |
342 void LayoutSwitchComplete(); |
324 |
343 |
325 RAlfBridgerClient* BridgerClient(); |
344 RAlfBridgerClient* BridgerClient(); |
403 * |
422 * |
404 * @return ETrue If storing was required and could be done. |
423 * @return ETrue If storing was required and could be done. |
405 * OR storing was not required. |
424 * OR storing was not required. |
406 */ |
425 */ |
407 TBool StoreLayoutIfRequiredByEffectL(CHuiLayout* aLayout, CFullScreenEffectState& aEvent, TBool& aNeededStoredLayout); |
426 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); |
408 |
437 |
409 /** |
438 /** |
410 * Handles begin and end fullscreen events |
439 * Handles begin and end fullscreen events |
411 */ |
440 */ |
412 TBool HandleGfxEventL(CFullScreenEffectState& aEvent, CHuiLayout* aToLayout, CHuiLayout *aFromLayout); |
441 TBool HandleGfxEventL(CFullScreenEffectState& aEvent, CHuiLayout* aToLayout, CHuiLayout *aFromLayout); |
589 |
618 |
590 void HandleSetTransparencyAlphaChannelL( TAlfBridgerData& aData ); |
619 void HandleSetTransparencyAlphaChannelL( TAlfBridgerData& aData ); |
591 |
620 |
592 void HandleIncludeToVisibilityCalculationL( TAlfBridgerData& aData ); |
621 void HandleIncludeToVisibilityCalculationL( TAlfBridgerData& aData ); |
593 |
622 |
|
623 void HandleSetScreenDeviceValidL( TAlfBridgerData& aData ); |
|
624 |
594 void HandleSetWindowAreaL( TAlfBridgerData& aData ); |
625 void HandleSetWindowAreaL( TAlfBridgerData& aData ); |
595 |
626 |
596 void HandleReorderWindowL( TAlfBridgerData& aData ); |
627 void HandleReorderWindowL( TAlfBridgerData& aData ); |
597 |
628 |
598 void HandlePostCanvasBufferL( TAlfBridgerData& aData ); |
629 void HandlePostCanvasBufferL( TAlfBridgerData& aData ); |
614 void HandleSetCursorDataL( TAlfBridgerData& aData ); |
645 void HandleSetCursorDataL( TAlfBridgerData& aData ); |
615 |
646 |
616 void HandleSetNodeTracking( TAlfBridgerData& aData ); |
647 void HandleSetNodeTracking( TAlfBridgerData& aData ); |
617 |
648 |
618 void HandleSetFadeEffectL( TAlfBridgerData& aData ); |
649 void HandleSetFadeEffectL( TAlfBridgerData& aData ); |
|
650 |
|
651 void HandleGroupChained( TAlfBridgerData& aData); |
|
652 |
|
653 void HandleGroupChainBroken( TAlfBridgerData& aData); |
619 |
654 |
620 void HandleMoveWindowToNewGroupL( TAlfBridgerData& aData ); |
655 void HandleMoveWindowToNewGroupL( TAlfBridgerData& aData ); |
621 |
656 |
622 void HandleSetLayoutSwitchEffectL(); |
657 void HandleSetLayoutSwitchEffectL(); |
623 |
658 |
709 * the pointer to visual corresponding the client side keys. |
744 * the pointer to visual corresponding the client side keys. |
710 */ |
745 */ |
711 CHuiCanvasVisual* FindVisualByClientSideIds(TUint32 aClientSideId, TUint32 aClientSideGroupId ); |
746 CHuiCanvasVisual* FindVisualByClientSideIds(TUint32 aClientSideId, TUint32 aClientSideGroupId ); |
712 |
747 |
713 /** |
748 /** |
|
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 /** |
714 * This method finds controlgroup which has been assosiated with given window group id. |
763 * This method finds controlgroup which has been assosiated with given window group id. |
715 * Control group may or may not be active in roster. |
764 * Control group may or may not be active in roster. |
716 * |
765 * |
717 * @param aWindowGroupNodeId Node id of the window group, internal. |
766 * @param aWindowGroupNodeId Node id of the window group, internal. |
718 */ |
767 */ |
719 CHuiControlGroup* FindControlGroup(TInt aWindowGroupNodeId, TInt aScreenNumber ); |
768 CHuiControlGroup* FindControlGroup(TInt aWindowGroupNodeId, TInt aScreenNumber = 0); |
720 |
769 |
721 /** |
770 /** |
722 * This method finds controlgroup which has been assosiated with window server window group id. |
771 * This method finds controlgroup which has been assosiated with window server window group id. |
723 * |
772 * |
724 * @param aWindowGroupNodeId window server window group id of the window group, internal. |
773 * @param aWindowGroupNodeId window server window group id of the window group, internal. |
738 * @param aSecureId Secure ID to seacrh for |
787 * @param aSecureId Secure ID to seacrh for |
739 * @param aWgId Client window group ID. Ignored if -1. |
788 * @param aWgId Client window group ID. Ignored if -1. |
740 * @return Pointer to found control gruop. NULL if not found. |
789 * @return Pointer to found control gruop. NULL if not found. |
741 */ |
790 */ |
742 CHuiControlGroup* FindControlGroupBySecureId( TInt aSecureId, TInt aWgId = -1 ) const; |
791 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); |
743 |
798 |
744 /** |
799 /** |
745 * Finds control gruop which matches the full screen effect end state. |
800 * Finds control gruop which matches the full screen effect end state. |
746 * |
801 * |
747 * @return Pointer to found control gruop. NULL if not found. |
802 * @return Pointer to found control gruop. NULL if not found. |
759 * This method deletes controlgroup which has been assosiated with given window group id. |
814 * This method deletes controlgroup which has been assosiated with given window group id. |
760 * Control group may or may not be active in roster. |
815 * Control group may or may not be active in roster. |
761 * |
816 * |
762 * @param aWindowGroupNodeId Node id of the window group, internal. |
817 * @param aWindowGroupNodeId Node id of the window group, internal. |
763 */ |
818 */ |
764 void DeleteControlGroupL(TInt aWindowGroupNodeId, TInt aScreenNumber ); |
819 void DeleteControlGroupL(TInt aWindowGroupNodeId, TInt aScreenNumber = 0); |
765 |
820 |
766 /** |
821 /** |
767 * Creates a control group |
822 * Creates a control group |
768 * |
823 * |
769 * @param aWindowGroupNodeId Node id of the window group, internal. |
824 * @param aWindowGroupNodeId Node id of the window group, internal. |
851 * This is for updating all the layout that are created to correspond the window server window groups. |
906 * This is for updating all the layout that are created to correspond the window server window groups. |
852 * This should be called immediately when layout switch happens. Layout extents must be update then otherwise |
907 * This should be called immediately when layout switch happens. Layout extents must be update then otherwise |
853 * visibility calculations will clip to old sizes. |
908 * visibility calculations will clip to old sizes. |
854 */ |
909 */ |
855 void UpdateRootVisualsToFullscreen(); |
910 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(); |
856 |
921 |
857 private: |
922 private: |
858 |
923 |
859 RPointerArray<CAlfScreen> iAlfScreens; |
924 RPointerArray<CAlfScreen> iAlfScreens; |
860 void SetCursorTimerL(TUint aTime = 0, CHuiVisual* aCursor = 0); |
925 void SetCursorTimerL(TUint aTime = 0, CHuiVisual* aCursor = 0); |
1007 TInt32 iClientSideId; |
1072 TInt32 iClientSideId; |
1008 TInt32 iClientSideGroupId; |
1073 TInt32 iClientSideGroupId; |
1009 }; |
1074 }; |
1010 |
1075 |
1011 RHashMap<TUint32,THashVisualStruct> iWindowHashArray; |
1076 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 |
1012 CHuiControl* iOrphanStorage; // owned. holds the visuals which are orphaned from their control group |
1089 CHuiControl* iOrphanStorage; // owned. holds the visuals which are orphaned from their control group |
1013 class TRegisteredEffectsStruct |
1090 class TRegisteredEffectsStruct |
1014 { |
1091 { |
1015 public: |
1092 public: |
1016 TRegisteredEffectsStruct() |
1093 TRegisteredEffectsStruct() |