windowing/windowserver/nga/CLIENT/RWS.CPP
changeset 36 01a6848ebfd7
parent 0 5d03bc08d59c
child 45 36b2e23a8629
equal deleted inserted replaced
0:5d03bc08d59c 36:01a6848ebfd7
     1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 1995-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    19 #include "w32comm.h"
    19 #include "w32comm.h"
    20 #include <e32std.h>
    20 #include <e32std.h>
    21 #include <w32std.h>
    21 #include <w32std.h>
    22 #include "CLIENT.H"
    22 #include "CLIENT.H"
    23 #include "graphics/windowserverconstants.h"
    23 #include "graphics/windowserverconstants.h"
       
    24 #include "rtfxeffect.h"
    24 
    25 
    25 const TInt KMaxWSERVMessagesSlot=-1;
    26 const TInt KMaxWSERVMessagesSlot=-1;
    26 
    27 
    27 class RWsCustomTextCursor : public RWsSpriteBase
    28 class RWsCustomTextCursor : public RWsSpriteBase
    28 	{
    29 	{
  2042 client. */
  2043 client. */
  2043 	{
  2044 	{
  2044 	WriteInt(aRemove,EWsClOpRemoveKeyCode);
  2045 	WriteInt(aRemove,EWsClOpRemoveKeyCode);
  2045 	}
  2046 	}
  2046 
  2047 
  2047 EXPORT_C void RWsSession::SimulateXyInputType(TXYInputType aInputType)
  2048 EXPORT_C void RWsSession::SimulateXyInputType(TInt aInputType)
  2048 	{
  2049 	{
  2049 	WriteInt(aInputType,EWsClOpSimulateXyInput);
  2050 	WriteInt(aInputType,EWsClOpSimulateXyInput);
  2050 	}
  2051 	}
  2051 #endif
  2052 #endif
  2052 
  2053 
  2474 /**
  2475 /**
  2475 Enables client side cache of window size to reduce client-server 
  2476 Enables client side cache of window size to reduce client-server 
  2476 activity triggered by calls to RWindowBase::Size()
  2477 activity triggered by calls to RWindowBase::Size()
  2477 @leave KErrNoMemory Could not allocate the required memory.
  2478 @leave KErrNoMemory Could not allocate the required memory.
  2478 @internalAll */
  2479 @internalAll */
  2479     {
  2480 	{
  2480     iBuffer->EnableWindowSizeCacheL();
  2481 	iBuffer->EnableWindowSizeCacheL();
  2481     }
  2482 	}
       
  2483 
       
  2484 EXPORT_C void RWsSession::SendEffectCommand(TInt aTfxCmd,const TDesC8& aTfxCmdData)
       
  2485 /**
       
  2486  Set the WServ session specific effect data or execute commands 
       
  2487  to TFX Render Stage. The data or command passed by the client 
       
  2488  API will be directed to MWsTfxApplication::SendEffectCommand.
       
  2489  TFX Render Stage will accept only TFX application specific commands and data.
       
  2490 @param aTfxCmd TFX Render Stage command.
       
  2491 @param aTfxCmdData Structure related to the specified value of aTfxCmd, the default value is KNullDesC8.
       
  2492 @publishedPartner
       
  2493 */
       
  2494 	{
       
  2495 	__ASSERT_ALWAYS(aTfxCmdData.Length()<=KMaxWservStringSize, Panic(EW32PanicStringTooLong));
       
  2496 	TWsClCmdSendEffectCommand params(aTfxCmd,aTfxCmdData.Size(), NULL);
       
  2497 	Write(&params,sizeof(params),aTfxCmdData.Ptr(),aTfxCmdData.Size(),EWsClOpSendEffectCommand);
       
  2498 	}
       
  2499 
       
  2500 EXPORT_C void RWsSession::RegisterEffect(TInt aAction, const TFileName& aResourceDir, const TFileName& aFilenamePhase1, const TFileName& aFilenamePhase2, TUint aAppUid)
       
  2501 /**
       
  2502 Sets a specific animation for a particular transition effect.
       
  2503 
       
  2504 Transition effect is represented by one of the values of enum TTfxTransitionActions.
       
  2505 
       
  2506 An animation is specified by a filename and directory; the file will contain a description of the animation 
       
  2507 for that transition.  In fact each transition can have two animations associated with it, for example 
       
  2508 an App shut down could have one animation with the old application disappearing and then another animation 
       
  2509 for the App Launcher (or home screen) appearing.  In this API these are referred to as “Phase1” and “Phase2”.
       
  2510 
       
  2511 Animation can be applied to all App's Transition effect or to a specfic App by providing its AppUid.
       
  2512 
       
  2513 @param aAction Particular transition to register the animation for.
       
  2514 @param aResourceDir The name of the directory that contains the animation description files.
       
  2515 @param aFilenamePhase1 The file containing the description of the animation for the first phase(Phase1) of the transition. 
       
  2516 					   Specify KNullDesC for no Phase1 effect.
       
  2517 @param aFilenamePhase2 The file containing the description of the animation for the second phase(Phase2) of the transition. 
       
  2518 					   Specify KNullDesC for no Phase2 effect.
       
  2519 @param aAppUid The Application UID this effect applies to. Set to zero to specify that all apps will use default effect.
       
  2520 
       
  2521 @publishedPartner
       
  2522 */
       
  2523 	{
       
  2524 	RTFXEffect tfxEffect(iWsHandle, iBuffer);
       
  2525 	tfxEffect.RegisterTFXEffect(aAction, aResourceDir, aFilenamePhase1, aFilenamePhase2, aAppUid);
       
  2526 	}
       
  2527 
       
  2528 EXPORT_C void RWsSession::UnregisterEffect(TInt aAction)
       
  2529 /**
       
  2530 Unregister already set animation for a particular transition effect.
       
  2531 
       
  2532 @param aAction Particular transition to unregister the animation for.
       
  2533 @publishedPartner
       
  2534 */
       
  2535 	{
       
  2536 	WriteInt(aAction, EWsClOpUnregisterTFXEffect);
       
  2537 	}
       
  2538 
       
  2539 EXPORT_C void RWsSession::UnregisterAllEffects()
       
  2540 /**
       
  2541 Unregister animation for all transition effects.
       
  2542 
       
  2543 @publishedPartner
       
  2544 */
       
  2545 	{
       
  2546 	Write(EWsClOpUnregisterAllTFXEffect);
       
  2547 	}
       
  2548 	
       
  2549 EXPORT_C void RWsSession::OverrideEffects(TBool aOneShot, TInt aAction, const TFileName& aResourceDir, const TFileName& aFilenamePhase1, const TFileName& aFilenamePhase2)
       
  2550 /**
       
  2551 Overides the default animation for given app's transition effect by sent animation description.
       
  2552 Please refer RWsSession::RegisterEffect() comments for more information on animation description.
       
  2553 
       
  2554 @param aOneShot A flag to see if the specified override should be applied once or on an ongoing basis
       
  2555 @param aAction The particular transition to set the animation for.
       
  2556 @param aResourceDir The name of the directory that contains the animation description files.
       
  2557 @param aFilenamePhase1 The file containing the description of the animation for the first phase(Phase1) of the transition.
       
  2558 					   Specify KNullDesC for no Phase1 effect.
       
  2559 @param aFilenamePhase2 The file containing the description of the animation for the second phase(Phase2) of the transition.
       
  2560 					   Specify KNullDesC for no Phase2 effect.
       
  2561 
       
  2562 @publishedPartner
       
  2563 */
       
  2564 	{
       
  2565 	RTFXEffect tfxEffect(iWsHandle, iBuffer);
       
  2566 	tfxEffect.OverrideTFXEffect(aOneShot, aAction, aResourceDir, aFilenamePhase1, aFilenamePhase2, RTFXEffect::ETFXSession);
       
  2567 	}