30 #include "alf/alfserverutils.h" |
30 #include "alf/alfserverutils.h" |
31 #include "alflogger.h" |
31 #include "alflogger.h" |
32 #include "alfclientserver.h" |
32 #include "alfclientserver.h" |
33 #include "alfsrvtexturemanager.h" |
33 #include "alfsrvtexturemanager.h" |
34 #include "alfsrvscreenbuffermanager.h" |
34 #include "alfsrvscreenbuffermanager.h" |
|
35 #include "alfstreamerconsts.h" |
|
36 #include "alfdecoderserverclient.h" |
|
37 |
|
38 |
35 |
39 |
36 #include <coemain.h> |
40 #include <coemain.h> |
37 |
41 |
38 #include <alf/alfroster.h> |
42 #include <alf/alfroster.h> |
39 #include <alf/alftexture.h> |
43 #include <alf/alftexture.h> |
290 for (TInt index = 0; index < iAnimatedTextures.Count(); index++) |
294 for (TInt index = 0; index < iAnimatedTextures.Count(); index++) |
291 { |
295 { |
292 iAnimatedTextures.operator[](index)->EnableAnimation(ETrue); |
296 iAnimatedTextures.operator[](index)->EnableAnimation(ETrue); |
293 } |
297 } |
294 |
298 |
295 if ( aDoTransitionEffect && AlfServer()->TransitionEffects()->IsEnabled() && |
|
296 (display->DisplayType() != CHuiDisplay::EDisplayOffScreenBuffer)) |
|
297 { |
|
298 ASSERT(AlfServer()->TransitionEffects() != NULL); |
|
299 AlfServer()->TransitionEffects()->StartPhase( MAlfTransEffectPlugin::EFirstPhase, |
|
300 aDoTransitionEffect, *iEffectEnv ); |
|
301 |
|
302 iControlGroupOrder.Reset(); |
|
303 } |
|
304 else |
|
305 { |
|
306 // ShowControlGroupsInOrderL(*display); |
|
307 } |
|
308 |
|
309 // This is needed for Huitk BitBlit() to succeed |
299 // This is needed for Huitk BitBlit() to succeed |
310 |
300 |
311 #ifdef SYMBIAN_BUILD_GCE |
301 #ifdef SYMBIAN_BUILD_GCE |
312 SharedHuiEnv()->ContinueRefresh(); |
302 SharedHuiEnv()->ContinueRefresh(); |
313 #else |
303 #else |
369 #endif |
356 #endif |
370 // background must be drawn as long as the effect is displayed |
357 // background must be drawn as long as the effect is displayed |
371 // as the background will be visible if the effect does not cover full screen |
358 // as the background will be visible if the effect does not cover full screen |
372 // or is partially transparent. |
359 // or is partially transparent. |
373 } |
360 } |
374 /* |
|
375 #else |
|
376 // Do not hide or set transparency if this is off-screen buffer |
|
377 if (display->DisplayType() != CHuiDisplay::EDisplayOffScreenBuffer) |
|
378 { |
|
379 // Disable all animated textures for the session |
|
380 for (TInt index = 0; index < iAnimatedTextures.Count(); index++) |
|
381 { |
|
382 iAnimatedTextures.operator[](index)->EnableAnimation(EFalse); |
|
383 } |
|
384 |
|
385 if ( aDoTransitionEffect && AlfServer()->TransitionEffects()->IsEnabled() ) |
|
386 { |
|
387 StoreControlGroupOrderL(*display, EFalse ); // do not hide |
|
388 ASSERT(AlfServer()->TransitionEffects() != NULL); |
|
389 AlfServer()->TransitionEffects()->StartPhase( MAlfTransEffectPlugin::EFirstPhase, |
|
390 aDoTransitionEffect, *iEffectEnv ); |
|
391 didTransition = ETrue; |
|
392 } |
|
393 // Hide control groups |
|
394 else |
|
395 { |
|
396 StoreControlGroupOrderL(*display, ETrue ); // hide as well |
|
397 } |
|
398 |
|
399 #ifdef SYMBIAN_BUILD_GCE |
|
400 // When alf application is not focused we dont draw background because it is |
|
401 // not visible as the alf application is not visible either (its controlgroups |
|
402 // were just hidden in the code above). |
|
403 display->SetClearBackgroundL(CHuiDisplay::EClearNone); |
|
404 #endif |
|
405 } |
|
406 #endif |
|
407 */ |
|
408 |
361 |
409 return didTransition; |
362 return didTransition; |
410 } |
363 } |
411 |
364 |
412 void CAlfAppSrvSession::StoreControlGroupOrderL(CHuiDisplay& aDisplay, TBool aAlsoHide ) |
365 void CAlfAppSrvSession::StoreControlGroupOrderL(CHuiDisplay& aDisplay, TBool aAlsoHide ) |
2735 const TInt pos = FindTextureInfoById( aTextureId ); |
2688 const TInt pos = FindTextureInfoById( aTextureId ); |
2736 if ( pos != KErrNotFound ) |
2689 if ( pos != KErrNotFound ) |
2737 { |
2690 { |
2738 iTextureInfo.Remove( pos ); |
2691 iTextureInfo.Remove( pos ); |
2739 } |
2692 } |
|
2693 |
|
2694 //Photos is never killed if it is excluded here. hence commenting |
|
2695 /* |
|
2696 if (!iTextureInfo.Count()) |
|
2697 { |
|
2698 if (AlfAppUi()->BridgerClient()) |
|
2699 { |
|
2700 AlfAppUi()->BridgerClient()->SendBlind(EAlfExcludeFromGoomTargets, TIpcArgs(SecureId(),ClientWindowGroup())); |
|
2701 } |
|
2702 } |
|
2703 */ |
2740 } |
2704 } |
2741 |
2705 |
2742 TInt CAlfAppSrvSession::GetTextureSize( |
2706 TInt CAlfAppSrvSession::GetTextureSize( |
2743 TInt aTextureId, |
2707 TInt aTextureId, |
2744 TSize& aTextureSize, |
2708 TSize& aTextureSize, |
2762 TInt aPriority ) |
2726 TInt aPriority ) |
2763 { |
2727 { |
2764 const TBool highPriority = ( aPriority < 0 ); |
2728 const TBool highPriority = ( aPriority < 0 ); |
2765 aPriority = Max( 0, aPriority ); |
2729 aPriority = Max( 0, aPriority ); |
2766 aPriority = Min( 1, aPriority ); |
2730 aPriority = Min( 1, aPriority ); |
|
2731 |
|
2732 if (!iTextureInfo.Count()) |
|
2733 { |
|
2734 if (AlfAppUi()->BridgerClient()) |
|
2735 { |
|
2736 AlfAppUi()->BridgerClient()->SendBlind(EAlfVolunteerForGoomTarget, TIpcArgs(SecureId(), ClientWindowGroup())); |
|
2737 } |
|
2738 } |
|
2739 |
2767 |
2740 |
2768 TInt pos = FindTextureInfoById( aTextureId ); |
2741 TInt pos = FindTextureInfoById( aTextureId ); |
2769 if ( pos != KErrNotFound ) |
2742 if ( pos != KErrNotFound ) |
2770 { |
2743 { |
2771 // TAlfTextureInfo struct was found - pos >= 0 |
2744 // TAlfTextureInfo struct was found - pos >= 0 |