uiacceltk/hitchcock/ServerCore/Inc/alfbridge.h
changeset 29 ac3859d43844
parent 21 6ce30188c5bf
child 31 1b6909418757
equal deleted inserted replaced
28:423dd85009cf 29:ac3859d43844
    64                         TInt aHandle,
    64                         TInt aHandle,
    65                         CHuiVisual* aEffectedVisual,
    65                         CHuiVisual* aEffectedVisual,
    66                         CHuiVisual* aTemporaryPresenterVisual,
    66                         CHuiVisual* aTemporaryPresenterVisual,
    67                         TBool aIsLayout, 
    67                         TBool aIsLayout, 
    68                         TBool aHideWhenFinished,
    68                         TBool aHideWhenFinished,
    69                         TBool aCanDestroyOrHideImmediately) 
    69                         TBool aCanDestroyOrHideImmediately,
       
    70                         TBool aIsFullScreenEffect) 
    70                 : iHandle(aHandle), 
    71                 : iHandle(aHandle), 
    71                 iEffectedVisual(aEffectedVisual),
    72                 iEffectedVisual(aEffectedVisual),
    72                 iTemporaryPresenterVisual(aTemporaryPresenterVisual),
    73                 iTemporaryPresenterVisual(aTemporaryPresenterVisual),
    73                 iIsLayout(aIsLayout),
    74                 iIsLayout(aIsLayout),
    74                 iHideWhenFinished(aHideWhenFinished),
    75                 iHideWhenFinished(aHideWhenFinished),
    75                 iCanDestroyOrHideImmediately(aCanDestroyOrHideImmediately)
    76                 iCanDestroyOrHideImmediately(aCanDestroyOrHideImmediately),
       
    77                 iIsFullScreenEffect(aIsFullScreenEffect)
    76                         {
    78                         {
    77 //                        RDebug::Printf("TEffectCleanupStruct - 0x%x 0x%x, %d", iEffectedVisual, iTemporaryPresenterVisual, iIsLayout );
    79 //                        RDebug::Printf("TEffectCleanupStruct - 0x%x 0x%x, %d", iEffectedVisual, iTemporaryPresenterVisual, iIsLayout );
    78                         };
    80                         };
    79 
    81 
    80                 TInt iHandle;
    82                 TInt iHandle;
    82                 TBool iIsLayout;
    84                 TBool iIsLayout;
    83 
    85 
    84                 TBool iHideWhenFinished;
    86                 TBool iHideWhenFinished;
    85                 
    87                 
    86                 TBool iCanDestroyOrHideImmediately;
    88                 TBool iCanDestroyOrHideImmediately;
    87 				
    89 
       
    90                 TBool iIsFullScreenEffect;
       
    91                 
    88 				// not own, unless iEffectedVisual has EShouldDestroy flag enabled
    92 				// not own, unless iEffectedVisual has EShouldDestroy flag enabled
    89                 CHuiVisual* iEffectedVisual;
    93                 CHuiVisual* iEffectedVisual;
    90 				// owned
    94 				// owned
    91                 CHuiVisual* iTemporaryPresenterVisual;
    95                 CHuiVisual* iTemporaryPresenterVisual;
    92             };
    96             };
   277      * GfxTransEffect API gives EndFullScreen events too late. Thus there is a two stage process for triggering 
   281      * GfxTransEffect API gives EndFullScreen events too late. Thus there is a two stage process for triggering 
   278      * the EndFullScreen effect after BeginFullScreen event arrived.
   282      * the EndFullScreen effect after BeginFullScreen event arrived.
   279      * 
   283      * 
   280      */
   284      */
   281     void GfxTriggerEndFullScreen(CFullScreenEffectState* aFullScreenEffectData);
   285     void GfxTriggerEndFullScreen(CFullScreenEffectState* aFullScreenEffectData);
   282     
   286 
       
   287     /**
       
   288 	 * UpdateSecondaryEffectL
       
   289 	 *
       
   290 	 * Resolve filename for two part effect that is used with slowly starting applications
       
   291 	 * 
       
   292 	 */
       
   293     TBool UpdateSecondaryEffectL(const CFullScreenEffectState& aState);
       
   294 
   283    /*
   295    /*
   284 	*	GfxTriggerEffectWhenFullScreenDrawn
   296 	*	GfxTriggerEffectWhenFullScreenDrawn
   285 	*
   297 	*
   286 	*	Goes through the given CHuiControl (group which is supposed to show the effect). 
   298 	*	Goes through the given CHuiControl (group which is supposed to show the effect). 
   287 	*   Triggers the effect, if  drawing buffers in group cover the whole screen in the 
   299 	*   Triggers the effect, if  drawing buffers in group cover the whole screen in the 
   425 	 *
   437 	 *
   426 	 *
   438 	 *
   427 	 *	@return	ETrue, 	if layout have been initialized succesfully for the effect
   439 	 *	@return	ETrue, 	if layout have been initialized succesfully for the effect
   428 	 			EFalse,	if any visuals have been removed. Effect should not be applied.
   440 	 			EFalse,	if any visuals have been removed. Effect should not be applied.
   429      */
   441      */
   430     TBool SetupEffectLayoutContainerL(TInt aHandle,CHuiLayout* aSourceLayout, TBool aIsExitEffect, TBool aCanDestroyOrHideImmediately);
   442     TBool SetupEffectLayoutContainerL(TInt aHandle,CHuiLayout* aSourceLayout, TBool aIsFullScreenEffect, TBool aIsExitEffect, TBool aCanDestroyOrHideImmediately);
   431 
   443 
   432     /*
   444     /*
   433      *	AddEffectItemL
   445      *	AddEffectItemL
   434 	 *
   446 	 *
   435 	 *	Prepares visual for the effect. Removes previous effect if necessary. @aItemDestroyed will return EFalse,
   447 	 *	Prepares visual for the effect. Removes previous effect if necessary. @aItemDestroyed will return EFalse,
   442             CHuiVisual* aSourceVisual, 
   454             CHuiVisual* aSourceVisual, 
   443             CHuiLayout* aTargetLayout, 
   455             CHuiLayout* aTargetLayout, 
   444             CHuiControl* aEffectControl,
   456             CHuiControl* aEffectControl,
   445             TBool aInsertTemporaryVisual,
   457             TBool aInsertTemporaryVisual,
   446             TBool& aItemDestroyed,
   458             TBool& aItemDestroyed,
       
   459             TBool aIsFullScreenEffect,
   447             TBool aIsExitEffect = EFalse,
   460             TBool aIsExitEffect = EFalse,
   448             TBool aCanDestroyOrHideImmediately = EFalse);
   461             TBool aCanDestroyOrHideImmediately = EFalse
       
   462             );
   449             
   463             
   450 
   464 
   451     /*
   465     /*
   452      *	AddToEffectLayoutContainerL
   466      *	AddToEffectLayoutContainerL
   453      */
   467      */
   455             TInt aEffectHandle,
   469             TInt aEffectHandle,
   456             CHuiLayout* aSourceLayout, 
   470             CHuiLayout* aSourceLayout, 
   457             CHuiLayout* aTargetLayout,
   471             CHuiLayout* aTargetLayout,
   458             CHuiControl* aEffectControlGroup,
   472             CHuiControl* aEffectControlGroup,
   459             TInt& aItemsDestroyed,
   473             TInt& aItemsDestroyed,
       
   474             TBool aIsFullScreenEffect,
   460             TBool aAddLayout = ETrue,
   475             TBool aAddLayout = ETrue,
   461             TBool aIsExitEffect = EFalse,
   476             TBool aIsExitEffect = EFalse,
   462             TBool aCanDestroyOrHideImmediately = EFalse);
   477             TBool aCanDestroyOrHideImmediately = EFalse);
   463 
   478 
   464     /*
   479     /*
   604             CHuiControlGroup& aGroup, 
   619             CHuiControlGroup& aGroup, 
   605             TInt aWhere, 
   620             TInt aWhere, 
   606             TInt aScreenNumber );
   621             TInt aScreenNumber );
   607 
   622 
   608     void ShowWindowGroupControlGroupL(CHuiRoster& aRoster, CHuiControlGroup& aGroup, TInt aWhere, TInt aScreenNumber );
   623     void ShowWindowGroupControlGroupL(CHuiRoster& aRoster, CHuiControlGroup& aGroup, TInt aWhere, TInt aScreenNumber );
       
   624     
       
   625 	/**
       
   626 	 * HasActiveAlfContent
       
   627 	 *
       
   628 	 * Determine if the window group in question has active Alf visuals
       
   629 	 *
       
   630 	 *	@return 	ETrue, if active clients
       
   631 	 */
       
   632     TBool HasActiveAlfContent( TInt aClientWgId );
   609     
   633     
   610 private:
   634 private:
   611          
   635          
   612     /**
   636     /**
   613      * Provide a bitmap and mask from the given UID.
   637      * Provide a bitmap and mask from the given UID.
   914      * Full screen effect state.
   938      * Full screen effect state.
   915      * Own.
   939      * Own.
   916      */
   940      */
   917     CFullScreenEffectState* iFullScreenEffectData;
   941     CFullScreenEffectState* iFullScreenEffectData;
   918     
   942     
       
   943     CFullScreenEffectState* iSecondaryFullScreenEffectData;
       
   944     
   919     /**
   945     /**
   920      * Control effect state.
   946      * Control effect state.
   921      * Own.
   947      * Own.
   922      */
   948      */
   923     CControlEffectState* iControlEffectData;
   949     CControlEffectState* iControlEffectData;
   924         
   950         
   925     // these save the current full screen transition data
   951     // these save the current full screen transition data
   926     // so that the correct transition can be ended from the callback
   952     // so that the correct transition can be ended from the callback
   927     // when the effect ends
   953     // when the effect ends
   928     TInt iLastFullScreenEffectWindowGroup;
   954     
   929     TInt iLastFullScreenScreen;
       
   930     TInt iLastAction;
       
   931     TInt iLastEffectHandle;
       
   932     CAlfEffectEndTimer* iEffectEndTimer;
   955     CAlfEffectEndTimer* iEffectEndTimer;
   933     TBool iLayoutInitializedForExitEffect;
   956     TBool iLayoutInitializedForExitEffect;
   934     
   957     
   935     CAlfStreamerBridge** iHost;
   958     CAlfStreamerBridge** iHost;
   936 
   959