58 public: // Constructors and destructor |
60 public: // Constructors and destructor |
59 static CAlfEffectEndTimer* NewL( CAlfBridge& aBridge ); |
61 static CAlfEffectEndTimer* NewL( CAlfBridge& aBridge ); |
60 virtual ~CAlfEffectEndTimer(); |
62 virtual ~CAlfEffectEndTimer(); |
61 |
63 |
62 public: // New functions |
64 public: // New functions |
63 void Start( TTimeIntervalMicroSeconds32 aPeriod, TInt aHandle ); |
65 void Start( TTimeIntervalMicroSeconds32 aPeriod ); |
|
66 void AddFinishedHandleL(TInt aHandle); |
64 |
67 |
65 protected: // Functions from base classes |
68 protected: // Functions from base classes |
66 void DoCancel(); |
69 void DoCancel(); |
67 |
70 |
68 private: |
71 private: |
90 void AlfGfxEffectEndCallBack( TInt aHandle ); |
92 void AlfGfxEffectEndCallBack( TInt aHandle ); |
91 |
93 |
92 public: |
94 public: |
93 void BeginLayoutSwitch(); |
95 void BeginLayoutSwitch(); |
94 void Cancel(); |
96 void Cancel(); |
95 |
97 TBool LayoutSwitchEffectsExist(); |
|
98 void EnableSafeCounter(TBool aEnable) |
|
99 { |
|
100 if (iRosterFreezeEndTimer) |
|
101 { |
|
102 if (aEnable) |
|
103 { |
|
104 iRosterFreezeEndTimer->iSafeCounter = 0; |
|
105 } |
|
106 else |
|
107 { |
|
108 iRosterFreezeEndTimer->iSafeCounter = KErrNotFound; |
|
109 } |
|
110 } |
|
111 } |
96 private: |
112 private: |
97 AknTransEffect::TContext NextLayoutSwitchContext(); |
113 AknTransEffect::TContext NextLayoutSwitchContext(); |
98 void SetLayoutSwitchEffect(AknTransEffect::TContext aContext); |
114 void SetLayoutSwitchEffect(AknTransEffect::TContext aContext); |
99 TBool LayoutSwitchEffectsExist(); |
|
100 |
115 |
101 private: // Data |
116 private: // Data |
102 |
117 |
103 CAlfBridge& iBridge; |
118 CAlfBridge& iBridge; |
104 AknTransEffect::TContext iLayoutSwitchEffectContext; |
119 AknTransEffect::TContext iLayoutSwitchEffectContext; |
105 TThreadPriority iOriginalPriority; |
120 TThreadPriority iOriginalPriority; |
106 CAlfRosterFreezeEndTimer* iRosterFreezeEndTimer; |
121 CAlfRosterFreezeEndTimer* iRosterFreezeEndTimer; |
107 }; |
122 }; |
108 |
123 |
109 // --------------------------------------------------------- |
124 // --------------------------------------------------------- |
110 // Effects states are used for effects request that arrive before the effected |
125 // Effects states are used for effects request that arrive before the effected |
111 // window has been created. This is very common with fullscreen effects and |
126 // window has been created. This is very common with fullscreen effects and |
112 // occational with control effects. |
127 // occational with control effects. |
158 public: |
173 public: |
159 ~CFullScreenEffectState(); |
174 ~CFullScreenEffectState(); |
160 |
175 |
161 void ConstructL(TInt aAction, RMemReadStream& aStream); |
176 void ConstructL(TInt aAction, RMemReadStream& aStream); |
162 |
177 |
163 TBool ResetTimerL(CAlfBridge* aBridge); |
178 TBool InitDelayedEffectL(CAlfBridge* aBridge, TSize aDisplaySize); |
164 |
179 |
165 void NotifyDrawingTimeout(); |
180 void NotifyDrawingTimeout(); |
166 |
181 |
167 // Information from BeginFullScreen |
182 // Information from BeginFullScreen |
168 TInt iType; |
183 TInt iType; |
169 TInt iWg1; |
184 TInt iToWg; |
170 TInt iWg2; |
185 TInt iFromWg; |
171 TInt iToAppId; |
186 TInt iToAppId; |
172 TInt iFromAppId; |
187 TInt iFromAppId; |
|
188 TInt iToSecureId; |
|
189 TInt iFromSecureId; |
173 TRect iRect; |
190 TRect iRect; |
174 |
191 |
175 // ETrue if waiting for window group to appear |
192 // ETrue if waiting for window group to appear |
176 TBool iWaitingWindowGroup; |
193 TBool iWaitingWindowGroup; |
177 // ETrue if end fullscreen has been performed |
194 // ETrue if end fullscreen has been performed |
180 TBool iSetupDone; |
197 TBool iSetupDone; |
181 |
198 |
182 // used for resolving the iCleanupStackItem that holds the frozen app layout underneath the starting application |
199 // used for resolving the iCleanupStackItem that holds the frozen app layout underneath the starting application |
183 TInt iAppStartScreenshotItemHandle; |
200 TInt iAppStartScreenshotItemHandle; |
184 |
201 |
185 RRegion iPaintedRegion; |
202 |
186 enum TEffectType |
203 enum TEffectType |
187 { |
204 { |
188 ENotDefinedEffect = 0, |
205 ENotDefinedEffect = 0, |
189 EStartEffect, |
206 EStartEffect, |
190 EExitEffect |
207 EExitEffect |
191 }; |
208 }; |
192 |
209 |
193 TEffectType iEffectType; |
210 TEffectType iEffectType; |
|
211 |
|
212 // Display dimension, iPaintedRegion is clipped to this when determining, if there is enough drawing to the group |
194 TSize iDisplaySize; |
213 TSize iDisplaySize; |
|
214 |
|
215 // gathers the painted region for the effected application. When enough region has been painted, the effect is forced. |
|
216 RRegion iPaintedRegion; |
|
217 |
195 CAlfBridge* iBridge; // for callback. not own. |
218 CAlfBridge* iBridge; // for callback. not own. |
196 |
219 |
|
220 // If the visual is shown by some other visual by a screenshot, this is set ETrue. |
|
221 TBool iCanDestroyOrHideImmediately; |
|
222 |
197 CPeriodic* iDrawingCompleteTimer; |
223 CPeriodic* iDrawingCompleteTimer; |
198 }; |
224 }; |