diff -r 000000000000 -r eb1f2e154e89 textinput/peninputarc/inc/pensrvcliinc/peninputanimcommand.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputarc/inc/pensrvcliinc/peninputanimcommand.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,481 @@ +/* +* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0"" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Defination for peninput server +* +*/ + + +#ifndef C_CPENINPUTANIM_CMD_H +#define C_CPENINPUTANIM_CMD_H +#include +#include +#include +//pen input animation client +class RPeninputAnim; +#include "peninputcmdparamext.h" +const TInt KMaxNum = 1; +/** + * Class for handling animation command. This is the base class for all command + * + * + * @since S60 v4.0 + */ +class TAnimCmd +{ +public: + /** + * Default constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @param aReayFlag The waiting flag indicats whether this command should be + * executed immediately. Deafult value is ETrue, i.e, execute the command. + */ + TAnimCmd(RPeninputAnim& aAnim,TBool aReayFlag = ETrue); + + /** + * Set command waiting flag. + * + * @since S60 v4.0 + * @param aFlag new waiting flag + */ + inline void SetReady(TBool aFlag); + + /** + * Test whether this command is executable now. + * + * @since S60 v4.0 + * @return ETrue if command is ready to run + */ + inline TBool Ready() const; + + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; +protected: + /** + * animation object which execute the command. Not owned. + */ + RPeninputAnim& iAnim; + /** + * flags tells whether this command can be execute immediately + */ + TBool iReady; +} ; + + +//class TAnimActivateUiCmd +/** + * Class for handling animation activation/deactivation command. + * + * + * @since S60 v4.0 + */ +class TAnimActivateUiCmd : public TAnimCmd + { +public: + /** + * Default constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @param aUiFlag The UI activation flag + * @param aReadyFlag indicates whether this command is ready. Default value is false + */ + TAnimActivateUiCmd(RPeninputAnim& aAnim,TBool aUiFlag,TBool aReadyFlag = EFalse); + + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; + +private: + /** + * The activation flag. + */ + TBool iActiveFlag; + }; + + +/** + * Class for handling changing animation sprite size command. + * + * + * @since S60 v4.0 + */ +class TAnimChangeSizeCmd : public TAnimCmd + { +public: + /** + * Default constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @param aSize The new sprite size + */ + TAnimChangeSizeCmd(RPeninputAnim& aAnim,const TSize& aSize); + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; + +private: + /** + * sprite new size + */ + TSize iSize; + }; + +/** + * Class for handling set animation sprite position command. + * + * + * @since S60 v4.0 + */ +class TAnimSetPosCmd : public TAnimCmd + { +public: + /** + * Default constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @param aPt The new position + */ + TAnimSetPosCmd(RPeninputAnim& aAnim,const TPoint& aPt); + + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; + +private: + /** + * The new sprite position + */ + TPoint iPos; + }; + +/** + * Class for handling change animation sprite display mode command. + * + * + * @since S60 v4.0 + */ +class TAnimChangeDispModeCmd : public TAnimCmd + { +public: + /** + * Default constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @param aSprite The sprite which needs to be changed. + * @param aMember The sprite member to be changed. + */ + TAnimChangeDispModeCmd(RPeninputAnim& aAnim, + RWsSprite& aSprite,TSpriteMember& aMember); + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; + +private: + /** + * The sprite to be changed. + */ + RWsSprite& iSprite; + + /** + * The sprite member to be changed. + */ + TSpriteMember& iSpriteMember; +}; + + +/** + * Class for handling update animation sprite command. + * + * + * @since S60 v4.0 + */ +class TAnimUpdateUiRectCmd : public TAnimCmd + { +public: + /** + * Default constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @param aRect The rect to be updated + * @param aFullFlag Flag indicates whether full sprite should be updated. + */ + TAnimUpdateUiRectCmd(RPeninputAnim& aAnim, + const TRect& aRect,TBool aFullFlag); + + /** + * + * @since S60 v4.0 + * @param aAnim The animation client which executes the command + * @param aArea* The pointer point to 1st TUpdateArea that need to be udpated + * @param aNum The count of TUpdateArea that need to be updated + */ + TAnimUpdateUiRectCmd(RPeninputAnim& aAnim, TUpdateArea *aArea, TInt aNum); + + /** + * Destructor. + * + * @since S60 v4.0 + */ + ~TAnimUpdateUiRectCmd(); + + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; + +private: + /** + * The rect to be updated + */ + mutable RArray iArea; + /** + * The flag for full sprite updating. iRect is ignored if this flag is true + */ + TBool iFullUpdateFlag; + + TInt iRectNum; + }; + +/** + * Class for handling capture pointer command. + * + * + * @since S60 v4.0 + */ +class TAnimCapturePtCmd : public TAnimCmd + { +public: + /** + * Default constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @param aFlag flag indicates capturing or releasing the point capture + */ + TAnimCapturePtCmd(RPeninputAnim& aAnim,TBool aFlag, TInt aCaptureCtrlID); + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; + +private: + /** + * The capture flag + */ + TBool iCaptureFlag; + + TInt iCaptureCtrlID; + }; + +/** + * Class for handling ignoring simuated event command. + * + * + * @since S60 v4.0 + */ +class TAnimSimulateEventCmd : public TAnimCmd + { +public: + /** + * Default constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @param aFlag The flag + */ + TAnimSimulateEventCmd(RPeninputAnim& aAnim,const TRawEvent& aEvent); + + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; + +private: + /** + * Event to be simulated. + */ + TRawEvent iEvent; + }; + +/** + * Class for handling flush ws session command. + * + * + * @since S60 v4.0 + */ +class TAnimFlushWsSessionCmd : public TAnimCmd + { +public: + /** + * Default constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @aWs The session to be flushed + */ + TAnimFlushWsSessionCmd(RPeninputAnim& aAnim,RWsSession& aWs); + + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; + +private: + /** + * The window session. + */ + RWsSession& iWs; + }; + +#ifdef RD_TACTILE_FEEDBACK +//class TAnimFeedbackAreaCmd +/** + * Class for handling register/de-register feedback area command + * + * + * @since S60 v4.0 + */ + +class TAnimFeedbackAreaCmd : public TAnimCmd + { +public: + enum TFeedbackAreaOpEnum + { + TFeedbackAreaOpAdd, + TFeedbackAreaOpRemove, + TFeedbackAreaOpChange, + TFeedbackTypeOpChange + }; + +public: + /** + * Default constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @param aArea The feedback area data + * @param aOp command op tells whether register or deregister area. + * @param aReplyFlag Flag tells how the command sent to server. + */ + TAnimFeedbackAreaCmd(RPeninputAnim& aAnim, + const TTactileFeedbackArea& aArea, + TFeedbackAreaOpEnum aOp, + TBool aReplyFlag); + + /** + * The constructor is not open yet. + * constructor. + * + * @since S60 v4.0 + * @param aAnim The animation cliet which executes the command + * @param aArea The feedback area data + * @param aOp command op tells whether register or deregister area. + * @param aReplyFlag Flag tells how the command sent to server. + */ + /*TAnimFeedbackAreaCmd(RPeninputAnim& aAnim, + const RArray& aArea, + TFeedbackAreaOpEnum aOp, + TBool aReplyFlag);*/ + + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; + +private: + /** + * The feedback area list. + */ + TTactileFeedbackArea iFeedbackAreaArray[KMaxNum]; + + /** + * count of the area. + */ + TInt iAreaCount; + + /** + * command op tells whether register or deregister area. + */ + TFeedbackAreaOpEnum iCmdOp; + + /** + * Flags tells whether this command is send by Command or CommandReply. + */ + TBool iCmdReplyFlag; + }; +#endif // RD_TACTILE_FEEDBACK + +class TAnimEnableSpriteCmd : public TAnimCmd + { +public: + TAnimEnableSpriteCmd(RPeninputAnim& aAnim,TBool aFlag); + /** + * Execute the command + * + * @since S60 v4.0 + * @return ETrue if command has been executed successfully. + */ + virtual TBool ExecuteAnimCommand() const; +private: + TBool iSpriteFlag; + }; + +#include "peninputanimcommand.inl" + +#endif //C_CPENINPUTANIM_CMD_H + + +