diff -r 000000000000 -r eb1f2e154e89 textinput/peninputarc/inc/pensrvcliinc/rpeninputanim.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputarc/inc/pensrvcliinc/rpeninputanim.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,223 @@ +/* +* Copyright (c) 2005-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: Interface to animation +* +*/ + + +#ifndef R_RPENINPUTANIM_H +#define R_RPENINPUTANIM_H + +// INCLUDES +#include +#include +#include +#include +#include "peninputcmdparamext.h" +/** + * Class for implementing animation functinality. + * + * This is the client side interface to the CSpriteAnim derived server side class. + * + * @since S60 v4.0 + */ +class RPeninputAnim : public RAnim + { +public: + // Constructors and destructor + + /** + * Default constructor. This is defined just to allow RPeninputAnim + * to be defined as non-pointer member. Use the other overloaded + * constructor for actual initialization. + * + * @since S60 v4.0 + */ + RPeninputAnim(); + + /** + * Constructor. + * + * @since S60 v4.0 + * @param aDll reference to loaded RAnimDll + */ + RPeninputAnim( RAnimDll& aDll ); + + /** + * Second phase construction. + * + * @since S60 v4.0 + * @param aDevice reference to window server sprite. + */ + void ConstructL( const RWsSprite& aDevice ); + + /** + * Activates the sprite ie. makes it visible. + * + * @since S60 v4.0 + */ + void Activate(); + + /** + * De-activates the sprite ie. makes it invisible. + * + * @since S60 v4.0 + */ + void Deactivate(); + + + /** + * Inform pen input animation thata the UI layout size has been changed + * + * @since S60 v4.0 + * @param aSize The new layout size + * @return The operation code + */ + TInt LayoutSizeChangedL(const TSize& aSize); + + /** + * set ui layout postion + * + * @since S60 v4.0 + * @param aPt The layout position + * @return The operation result + */ + TInt SetUiLayoutPos(const TPoint& aPt); + + + /** + * Infor animation that display mode changed + * + * @since S60 v4.0 + */ + void ChangeDisplayMode(); + + /** + * Update screen area + * + * @since S60 v4.0 + * @param aRect The area to be updated. + * @param aFullUpdate The full-updating flag. + */ + void UpdateArea(const TRect& aRect,TBool aFullUpdate); + + /** + * Update screen area + * + * @since S60 v4.0 + * @param aArea The array of area to be updated + * @return None + */ + void UpdateArea(const RArray& aArea); + + /** + * Ask window server to capture the pointer + * + * @since S60 v4.0 + * @param aFlag ETrue if need to capture the pointer + */ + void CapturePointer(TBool aFlag, TInt aCaptureCtrlID); + + /** + * Ask animation simulate the event + * + * @since S60 v4.0 + * @param aEvent The event to be simulated + */ + void SimulateEvent(const TRawEvent& aEvent); + +#ifdef RD_TACTILE_FEEDBACK + + /** + * Add feedback area. Send command to pen input animation + * + * @since S60 v4.0 + * @param aArea The area data + * @param aCount area num + * @param Flag tells whether the command will be bufferred. + */ + void AddFeedbackAreaL(const TTactileFeedbackArea* aArea, TInt aCount,TBool aFlag); + + /** + * Remove feedback area. Send command to pen input animation + * + * @since S60 v4.0 + * @param aArea The area data + * @param aCount area num + * @param Flag tells whether the command will be bufferred. + */ + void RemoveFeedbackAreaL(const TTactileFeedbackArea* aArea, TInt aCount,TBool aFlag); + + /** + * Change feedback area. Send command to pen input animation + * + * @since S60 v4.0 + * @param aArea The area data + * @param aCount area num + * @param Flag tells whether the command will be bufferred. + */ + void ChangeFeedbackAreaL(const TTactileFeedbackArea* aArea, TInt aCount,TBool aFlag); + + /** + * Change feedback type. Send command to pen input animation + * + * @since S60 v4.0 + * @param aArea The area data + * @param aCount area num + * @param Flag tells whether the command will be bufferred. + */ + void ChangeFeedbackTypeL(const TTactileFeedbackArea* aArea, TInt aCount,TBool aFlag); + +#endif // RD_TACTILE_FEEDBACK + + void EnableSprite(TBool aFlag); + + void GetDSAState(TBool& aState); +private: + + /** + * Completes the sprite anim construction. + * + * @since S60 v4.0 + */ + void FinishConstructionL(); + +#ifdef RD_TACTILE_FEEDBACK + + /** + * Send feedback command to animation dll by Command + * + * @since S60 v4.0 + * @param aArea The area data + * @param aCount The area number + * @param aOp The command id + */ + void DoFeedbackAreaOpL(const TTactileFeedbackArea* aArea, TInt aCount,TPeninputOpcodes aOp); + + /** + * Send feedback command to animation dll by CommandReplyL + * + * @since S60 v4.0 + * @param aArea The area data + * @param aCount The area number + * @param aOp The command id + */ + void DoFeedbackAreaOpReplyL(const TTactileFeedbackArea* aArea, + TInt aCount,TPeninputOpcodes aOp); + +#endif // RD_TACTILE_FEEDBACK + }; +#endif //R_RPENINPUTANIM_H + +// End of File