uiacceltk/hitchcock/ServerCore/Inc/alfeffectutils.h
branchRCL_3
changeset 41 cd0ae4656946
parent 34 3a60ebea00d0
child 49 c9d868f1e20c
equal deleted inserted replaced
34:3a60ebea00d0 41:cd0ae4656946
    24     EBeginFullScreenReceived, // first request of effect received
    24     EBeginFullScreenReceived, // first request of effect received
    25     EWaitingWindowGroup,
    25     EWaitingWindowGroup,
    26     EWaitEndFullScreen,
    26     EWaitEndFullScreen,
    27     EEndFullScreenReceivedWaitingWindowGroup,
    27     EEndFullScreenReceivedWaitingWindowGroup,
    28     EEndFullscreenReceived,
    28     EEndFullscreenReceived,
    29     ESecondPhaseSetupActive,
       
    30     EFinalEffectActive
    29     EFinalEffectActive
    31     };
    30     };
    32 // Timer to send finish full screen effect
    31 // Timer to send finish full screen effect
    33 // ---------------------------------------------------------
    32 // ---------------------------------------------------------
    34 // CAlfFinishTimer
    33 // CAlfFinishTimer
    53       
    52       
    54     private:    // Data
    53     private:    // Data
    55         CAlfBridge& iBridge;
    54         CAlfBridge& iBridge;
    56  	public:
    55  	public:
    57 	   	TInt iSafeCounter;
    56 	   	TInt iSafeCounter;
       
    57 	   	TInt iSafeCounterDelta;
    58         TCallBack iCallBack;        
    58         TCallBack iCallBack;        
    59     };
    59     };
    60 
    60 
    61 
    61 
    62 
    62 
   131     private:
   131     private:
   132         TState NextIdleState(TEvent aEvent);
   132         TState NextIdleState(TEvent aEvent);
   133         TState NextFreezeState(TEvent aEvent);
   133         TState NextFreezeState(TEvent aEvent);
   134         TState NextBlankState(TEvent aEvent);
   134         TState NextBlankState(TEvent aEvent);
   135         TState NextThemeState(TEvent aEvent);
   135         TState NextThemeState(TEvent aEvent);
       
   136 
       
   137         void HandleFreezeEvent(TEvent aEvent);
       
   138         void HandleThemeEvent(TEvent aEvent);
   136 
   139 
   137         void FreezeFinished();
   140         void FreezeFinished();
   138 
   141 
   139     public:            
   142     public:            
   140         TBool IsThemeEffectEnabled() const;
   143         TBool IsThemeEffectEnabled() const;
   160         void SetLayoutSwitchEffect(AknTransEffect::TContext aContext);
   163         void SetLayoutSwitchEffect(AknTransEffect::TContext aContext);
   161         
   164         
   162         void FreezeRoster(TBool aFrozen);
   165         void FreezeRoster(TBool aFrozen);
   163         
   166         
   164         static TInt DoFreezeFinished(TAny* aAny);
   167         static TInt DoFreezeFinished(TAny* aAny);
       
   168         static TInt DoNextLayoutSwitchContext(TAny* aAny);
   165         
   169         
   166     private: // Data
   170     private: // Data
   167         
   171         
   168         CAlfBridge& iBridge;
   172         CAlfBridge& iBridge;
   169         AknTransEffect::TContext iLayoutSwitchEffectContext;
   173         AknTransEffect::TContext iLayoutSwitchEffectContext;
   271         // effect has fade out and fade in. The fade in part is active, when this is ETrue.
   275         // effect has fade out and fade in. The fade in part is active, when this is ETrue.
   272         enum TEffectPhase
   276         enum TEffectPhase
   273             {
   277             {
   274             EOnlyOnePart = 0,
   278             EOnlyOnePart = 0,
   275             EFirstPartActive,
   279             EFirstPartActive,
   276             ESecondPartActive
   280             EFirstPartRunning,
       
   281             ESecondPartActive,
       
   282             ESecondPartRunning
   277             };
   283             };
   278         
   284         
   279         TEffectPhase iTwoPhaseEffect;
   285         TEffectPhase iTwoPhaseEffect;
   280         // used for resolving the iCleanupStackItem that holds the frozen app layout underneath the starting application
   286         // used for resolving the iCleanupStackItem that holds the frozen app layout underneath the starting application
   281         TInt iAppStartScreenshotItemHandle;
   287         TInt iAppStartScreenshotItemHandle;
   282         
       
   283         
   288         
   284         enum TEffectType
   289         enum TEffectType
   285         {
   290         {
   286             ENotDefinedEffect = 0,
   291             ENotDefinedEffect = 0,
   287             EStartEffect,
   292             EStartEffect,
   288             EExitEffect
   293             EExitEffect
   289         };
   294         };
   290         
   295         
   291         TEffectType iEffectType;
   296         TEffectType iEffectType;
   292         
   297         
   293         // Display dimension, iPaintedRegion is clipped to this when determining, if there is enough drawing to the group
       
   294         TSize iDisplaySize;
       
   295         
       
   296         // gathers the painted region for the effected application. When enough region has been painted, the effect is forced.
       
   297         RRegion iPaintedRegion;
       
   298         
       
   299         CAlfBridge* iBridge; // for callback. not own.
       
   300         
       
   301         // If the visual is shown by some other visual by a screenshot, this is set ETrue.
   298         // If the visual is shown by some other visual by a screenshot, this is set ETrue.
   302         TBool iCanDestroyOrHideImmediately;
   299         TBool iCanDestroyOrHideImmediately;
   303         
       
   304         CPeriodic* iDrawingCompleteTimer;
       
   305         };
   300         };