uiacceltk/hitchcock/ServerCore/Src/alfappsrvsession.cpp
changeset 48 7ced047fb7ae
parent 25 f7f1ae431f74
child 60 5dafecb0892a
equal deleted inserted replaced
43:95d73125a086 48:7ced047fb7ae
    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
   352     if ( !display )
   342     if ( !display )
   353         {
   343         {
   354         return didTransition;
   344         return didTransition;
   355         }
   345         }
   356 
   346 
   357 /*        
       
   358 #ifdef HUI_FX
       
   359 */
       
   360     if (display->DisplayType() != CHuiDisplay::EDisplayOffScreenBuffer) 
   347     if (display->DisplayType() != CHuiDisplay::EDisplayOffScreenBuffer) 
   361     	{
   348     	{
   362     	// Disable all animated textures for the session
   349     	// Disable all animated textures for the session
   363     	for (TInt index = 0; index < iAnimatedTextures.Count(); index++)
   350     	for (TInt index = 0; index < iAnimatedTextures.Count(); index++)
   364         	{
   351         	{
   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