uiacceltk/hitchcock/ServerCore/Inc/alfbridge.h
branchRCL_3
changeset 3 d8a3531bc6b8
parent 0 15bf7259bb7c
child 5 433cbbb6a04b
equal deleted inserted replaced
0:15bf7259bb7c 3:d8a3531bc6b8
    20 #ifndef __ALF_BRIDGE_H__
    20 #ifndef __ALF_BRIDGE_H__
    21 #define __ALF_BRIDGE_H__
    21 #define __ALF_BRIDGE_H__
    22 
    22 
    23 #include <e32hashtab.h>
    23 #include <e32hashtab.h>
    24 
    24 
       
    25 #define AMT_CONTROL()                static_cast<CAlfModuleTestDataControl*>(Dll::Tls())
       
    26 #include "alfmoduletest.h" 
       
    27 
    25 #include "alfscreen.h"
    28 #include "alfscreen.h"
    26 #include "alfstreamerbridge.h"
    29 #include "alfstreamerbridge.h"
    27 #include "alfdecoderserverclient.h"
    30 #include "alfdecoderserverclient.h"
    28 
    31 
    29 #include <alf/alfconstants.h>
    32 #include <alf/alfconstants.h>
    30 
    33 
    31 #include "HuiFxEffect.h"
    34 #include "HuiFxEffect.h"
       
    35 #include "huisynchronizationobserver.h"
    32 #include <alf/AlfTransEffectPlugin.h>
    36 #include <alf/AlfTransEffectPlugin.h>
    33 #include <uiacceltk/HuiDisplay.h>
    37 #include <uiacceltk/HuiDisplay.h>
    34 
    38 
    35 class CAlfEffectEndTimer;
    39 class CAlfEffectEndTimer;
    36 class CAlfCommandDebug;
    40 class CAlfCommandDebug;
    43 	public CBase, 
    47 	public CBase, 
    44     public MAlfStreamerListener, 
    48     public MAlfStreamerListener, 
    45     public MHuiDisplayRefreshObserver, 
    49     public MHuiDisplayRefreshObserver, 
    46     public MHuiBitmapProvider,
    50     public MHuiBitmapProvider,
    47     public MAlfGfxEffectObserver,
    51     public MAlfGfxEffectObserver,
    48     public MHuiRosterObserver
    52     public MHuiRosterObserver,
       
    53     public MHuiSynchronizationObserver
    49     {
    54     {
    50 	// Helper class for keeping ongoing effects in order. Kept in iEffectCleanupStack
    55 	// Helper class for keeping ongoing effects in order. Kept in iEffectCleanupStack
    51     private:
    56     private:
    52 
    57 
    53         struct TEffectCleanupStruct
    58         struct TEffectCleanupStruct
   222     
   227     
   223     // From MHuiRosterObserver
   228     // From MHuiRosterObserver
   224     void NotifyRosterDrawStart(CHuiDisplay& aDisplay);
   229     void NotifyRosterDrawStart(CHuiDisplay& aDisplay);
   225     void NotifyRosterDrawEnd(CHuiDisplay& aDisplay);
   230     void NotifyRosterDrawEnd(CHuiDisplay& aDisplay);
   226     
   231     
       
   232     // From MHuiSynchronizationObserver
       
   233     void Synchronized(TInt aId);
       
   234     
   227 private:    
   235 private:    
   228     
   236     
   229     class CFullScreenEffectState;
   237     class CFullScreenEffectState;
   230     
   238     
   231     class CControlEffectState;
   239     class CControlEffectState;
   382      * 
   390      * 
   383      * @return  NULL, if visual does not have temporary presenter visual in the active effect list
   391      * @return  NULL, if visual does not have temporary presenter visual in the active effect list
   384      */
   392      */
   385     CHuiLayout* FindLayoutByEffectHandle(TInt aHandle);
   393     CHuiLayout* FindLayoutByEffectHandle(TInt aHandle);
   386     
   394     
   387     /*
   395     /**
   388      * HasActiveEffect
   396      * HasActiveEffect
       
   397 	 *
       
   398 	 *	Note. The visual might not have effect, but it is child for visual that has effect. 
       
   399 	 *	In both cases, this method returns ETrue. Otherwise EFalse.
       
   400 	 *
       
   401 	 *	@param	aVisual	Visual to be checked for effect participation.
   389      */
   402      */
   390     TBool HasActiveEffect(CHuiVisual* aVisual);
   403     TBool HasActiveEffect(CHuiVisual* aVisual);
       
   404 
       
   405     /**
       
   406      * HasActiveEffect
       
   407 	 *
       
   408 	 *	Note. The visual might not have effect, but it is child for visual that has effect. 
       
   409 	 *	In both cases, this method returns ETrue. Otherwise EFalse.
       
   410 	 *
       
   411 	 *	@param	aVisual	Visual to be checked for effect participation.
       
   412 	 *	@param  aIndex	Index of the effect item in iEffectCleanupStack, if found. Otherwise KErrNotFound
       
   413      */    
       
   414     TBool HasActiveEffect(CHuiVisual* aVisual, TInt& aIndex);
   391     
   415     
   392    /*
   416    /*
   393 	*	FindEffectHandle
   417 	*	FindEffectHandle
   394 	*
   418 	*
   395 	*	@return 	Returns the effect handle number, which is associated with this visual. If none found, then 
   419 	*	@return 	Returns the effect handle number, which is associated with this visual. If none found, then 
   625             CAlfScreen& aScreen, 
   649             CAlfScreen& aScreen, 
   626             CHuiRoster& aRoster, 
   650             CHuiRoster& aRoster, 
   627             CHuiControlGroup& aGroup);
   651             CHuiControlGroup& aGroup);
   628     
   652     
   629     void VisualizeControlGroupOrderL(
   653     void VisualizeControlGroupOrderL(
       
   654             CAlfScreen& aScreen,
   630             CHuiRoster& aRoster, 
   655             CHuiRoster& aRoster, 
   631             CHuiControlGroup& aGroup);
   656             CHuiControlGroup& aGroup);
   632     
   657     
   633     void PrintAllocMem();
   658     void PrintAllocMem();
   634 
   659 
   712     RArray<TInt> iEffectHandles;
   737     RArray<TInt> iEffectHandles;
   713         
   738         
   714     // iEffectCleanupStack contains the entries for effects that are currently associated 
   739     // iEffectCleanupStack contains the entries for effects that are currently associated 
   715     // with visuals in iFullscreenEffectControlGroup
   740     // with visuals in iFullscreenEffectControlGroup
   716     RArray<TEffectCleanupStruct> iEffectCleanupStack;
   741     RArray<TEffectCleanupStruct> iEffectCleanupStack;
   717     
       
   718     // Effects that have finished by their own, or framework requested to end them
       
   719     RArray<TInt> iFinishedEffects;
       
   720     
   742     
   721     // Same as iEffectCleanupStack, but only the ones that can be now cleaned away.
   743     // Same as iEffectCleanupStack, but only the ones that can be now cleaned away.
   722     // See method RemoveTemporaryPresenterVisuals.
   744     // See method RemoveTemporaryPresenterVisuals.
   723     RArray<TInt> iFinishedCleanupStackEffects;
   745     RArray<TInt> iFinishedCleanupStackEffects;
   724     
   746     
   894     TBool iSwRenderingEnabled;
   916     TBool iSwRenderingEnabled;
   895     
   917     
   896     TBool iForcedSwRendering;
   918     TBool iForcedSwRendering;
   897     TBool iLowMemoryMode;
   919     TBool iLowMemoryMode;
   898     THuiMemoryLevel iCurrentMemoryLevel;
   920     THuiMemoryLevel iCurrentMemoryLevel;
       
   921     
       
   922     #ifdef USE_MODULE_TEST_HOOKS_FOR_ALF
       
   923     TInt iTempTotalActiveVisualCount;
       
   924     TInt iTempTotalPassiveVisualCount;
       
   925     #endif
   899     };    
   926     };    
   900 
   927 
   901 #endif // __ALF_BRIDGE_H__
   928 #endif // __ALF_BRIDGE_H__