diff -r 000000000000 -r eb1f2e154e89 textinput/peninputarc/src/peninputserverapp/peninputanimcommand.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputarc/src/peninputserverapp/peninputanimcommand.cpp Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,355 @@ +/* +* Copyright (c) 2007-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: Implementation for peninput animation command +* +*/ + +#include "peninputanimcommand.h" +#include "rpeninputanim.h" +#include +#include "peninputcmdparamext.h" +// --------------------------------------------------------------------------- +// TAnimCmd::TAnimCmd +// Default constructor +// --------------------------------------------------------------------------- +// +//#define UPDATE_MORE_SMALL_AREA +TAnimCmd::TAnimCmd(RPeninputAnim& aAnim,TBool aFlag) + : iAnim(aAnim),iReady(aFlag) + { + } + + + +// --------------------------------------------------------------------------- +// TAnimCmd::ExecuteAnimCommand +// Execute animation command +// --------------------------------------------------------------------------- +// +TBool TAnimCmd::ExecuteAnimCommand() const + { + //do nothing + return ETrue; + } + + +//class TAimActivateUiCmd +// --------------------------------------------------------------------------- +// TAnimActivateUiCmd::TAnimActivateUiCmd +// Default constructor +// --------------------------------------------------------------------------- +// +TAnimActivateUiCmd::TAnimActivateUiCmd(RPeninputAnim& aAnim, + TBool aFlag,TBool aReadyFlag) + : TAnimCmd(aAnim,aReadyFlag),iActiveFlag(aFlag) + { + } + +// --------------------------------------------------------------------------- +// TAnimActivateUiCmd::ExecuteAnimCommand +// Execute animation command +// --------------------------------------------------------------------------- +// +TBool TAnimActivateUiCmd :: ExecuteAnimCommand() const + { + if(!iReady) + return EFalse; + + if(iActiveFlag) + { + iAnim.Activate(); + } + else + { + iAnim.Deactivate(); + } + return ETrue; + } + + +//class TAnimChangeSizeCmd +// --------------------------------------------------------------------------- +// TAnimChangeSizeCmd::TAnimChangeSizeCmd +// Default constructor +// --------------------------------------------------------------------------- +// +TAnimChangeSizeCmd::TAnimChangeSizeCmd(RPeninputAnim& aAnim, + const TSize& aSize) : TAnimCmd(aAnim),iSize(aSize) + { + } + +// --------------------------------------------------------------------------- +// TAnimChangeSizeCmd::ExecuteAnimCommand +// Execute animation command +// --------------------------------------------------------------------------- +// +TBool TAnimChangeSizeCmd ::ExecuteAnimCommand() const + { + TRAP_IGNORE(iAnim.LayoutSizeChangedL(iSize)); + return ETrue; + } + +//class TAnimSetPosCmd +// --------------------------------------------------------------------------- +// TAnimSetPosCmd::TAnimSetPosCmd +// Default constructor +// --------------------------------------------------------------------------- +// +TAnimSetPosCmd::TAnimSetPosCmd(RPeninputAnim& aAnim,const TPoint& aPt) + : TAnimCmd(aAnim),iPos(aPt) + { + } + +// --------------------------------------------------------------------------- +// TAnimSetPosCmd::ExecuteAnimCommand +// Execute animation command +// --------------------------------------------------------------------------- +// +TBool TAnimSetPosCmd ::ExecuteAnimCommand() const + { + iAnim.SetUiLayoutPos(iPos); + return ETrue; + } + + +//class TAnimChangeDispModeCmd +// --------------------------------------------------------------------------- +// TAnimChangeDispModeCmd::TAnimChangeDispModeCmd +// Default constructor +// --------------------------------------------------------------------------- +// +TAnimChangeDispModeCmd::TAnimChangeDispModeCmd(RPeninputAnim& aAnim, + RWsSprite& aSprite,TSpriteMember& aMember) + : TAnimCmd(aAnim), iSprite(aSprite), + iSpriteMember(aMember) + { + } + +// --------------------------------------------------------------------------- +// TAnimChangeDispModeCmd::ExecuteAnimCommand +// Execute animation command +// --------------------------------------------------------------------------- +// +TBool TAnimChangeDispModeCmd :: ExecuteAnimCommand() const + { + iSprite.UpdateMember(0, iSpriteMember); + return ETrue; + } + + +//class TAnimUpdateUiRectCmd +// --------------------------------------------------------------------------- +// TAnimUpdateUiRectCmd::TAnimUpdateUiRectCmd +// Default constructor +// --------------------------------------------------------------------------- +// +TAnimUpdateUiRectCmd::TAnimUpdateUiRectCmd(RPeninputAnim& aAnim, + const TRect& aRect,TBool aFullFlag) + :TAnimCmd(aAnim) + { + TUpdateArea area = + { + aRect,aFullFlag + }; + iArea.Append(area); + } + +// --------------------------------------------------------------------------- +// TAnimUpdateUiRectCmd::TAnimUpdateUiRectCmd +// c++ constructor +// --------------------------------------------------------------------------- +// +TAnimUpdateUiRectCmd::TAnimUpdateUiRectCmd(RPeninputAnim& aAnim, + TUpdateArea *aArea,TInt aNum) + : TAnimCmd(aAnim), iRectNum(aNum) + { + for(TInt i = 0 ; i < aNum; ++i) + { + TUpdateArea area = + { + aArea[i].iRect, + aArea[i].iFullUpdateFlag + }; + iArea.Append(area); + } + } + +TAnimUpdateUiRectCmd::~TAnimUpdateUiRectCmd() + { + iArea.Close(); + } +// --------------------------------------------------------------------------- +// TAnimUpdateUiRectCmd::ExecuteAnimCommand +// Execute animation command +// --------------------------------------------------------------------------- +// +TBool TAnimUpdateUiRectCmd ::ExecuteAnimCommand() const + { + if (iArea.Count()) + { +#ifdef UPDATE_MORE_SMALL_AREA + iAnim.UpdateArea(iArea); +#else + TUpdateArea area = iArea[0]; + for( TInt i = 1; i < iArea.Count(); ++i ) + { + area.iRect.BoundingRect(iArea[i].iRect); + } + iArea.Reset(); + iArea.Append( area ); + iAnim.UpdateArea(iArea); +#endif //UPDATE_MORE_SMALL_AREA + } + + //otherwise it's already updated. + iArea.Close(); + return ETrue; + } + +//class TAnimCapturePtCmd +// --------------------------------------------------------------------------- +// TAnimCapturePtCmd::TAnimCapturePtCmd +// Default constructor +// --------------------------------------------------------------------------- +// +TAnimCapturePtCmd::TAnimCapturePtCmd(RPeninputAnim& aAnim,TBool aFlag, TInt aCaptureCtrlID) + : TAnimCmd(aAnim),iCaptureFlag(aFlag), iCaptureCtrlID(aCaptureCtrlID) + { + } + + +// --------------------------------------------------------------------------- +// TAnimCapturePtCmd::ExecuteAnimCommand +// Execute animation command +// --------------------------------------------------------------------------- +// +TBool TAnimCapturePtCmd :: ExecuteAnimCommand() const + { + iAnim.CapturePointer(iCaptureFlag, iCaptureCtrlID); + return ETrue; + } + + +//class TAnimSimulateEventCmd +// --------------------------------------------------------------------------- +// TAnimSimulateEventCmd::TAnimSimulateEventCmd +// Default constructor +// --------------------------------------------------------------------------- +// +TAnimSimulateEventCmd::TAnimSimulateEventCmd( + RPeninputAnim& aAnim,const TRawEvent& aEvent) + : TAnimCmd(aAnim),iEvent(aEvent) + { + } + +// --------------------------------------------------------------------------- +// TAnimSimulateEventCmd::ExecuteAnimCommand +// Execute animation command +// --------------------------------------------------------------------------- +// +TBool TAnimSimulateEventCmd :: ExecuteAnimCommand() const + { + iAnim.SimulateEvent(iEvent); + return ETrue; + } + + +//class TAnimFlushWsSessionCmd +// --------------------------------------------------------------------------- +// TAnimFlushWsSessionCmd::TAnimFlushWsSessionCmds +// Default constructor +// --------------------------------------------------------------------------- +// +TAnimFlushWsSessionCmd::TAnimFlushWsSessionCmd(RPeninputAnim& aAnim, + RWsSession& aWs) + : TAnimCmd(aAnim),iWs(aWs) + { + } + +// --------------------------------------------------------------------------- +// TAnimFlushWsSessionCmd::ExecuteAnimCommand +// Execute animation command +// --------------------------------------------------------------------------- +// +TBool TAnimFlushWsSessionCmd :: ExecuteAnimCommand() const + { + iWs.Flush(); + return ETrue; + } + + +#ifdef RD_TACTILE_FEEDBACK + +//class TAnimFeedbackAreaCmd +// --------------------------------------------------------------------------- +// TAnimFlushWsSessionCmd::TAnimFeedbackAreaCmd +// Execute animation command +// --------------------------------------------------------------------------- +// +TAnimFeedbackAreaCmd::TAnimFeedbackAreaCmd(RPeninputAnim& aAnim, + const TTactileFeedbackArea &aArea, + TFeedbackAreaOpEnum aOp,TBool aReplyFlag) + : TAnimCmd(aAnim),iAreaCount(0),iCmdOp(aOp), + iCmdReplyFlag(aReplyFlag) + { + iFeedbackAreaArray[iAreaCount++] = aArea; + } + + +/*TAnimFeedbackAreaCmd::TAnimFeedbackAreaCmd(RPeninputAnim& aAnim, + const RArray& aArea, + TFeedbackAreaOpEnum aOp,TBool aReplyFlag) + : TAnimCmd(aAnim),iAreaCount(0),iCmdOp(aOp), + iCmdReplyFlag(aReplyFlag) + { + for(TInt i = 0; i < aArea.Count(); ++i) + { + iFeedbackAreaArray[iAreaCount++] = aArea[i]; + } + }*/ + +TBool TAnimFeedbackAreaCmd :: ExecuteAnimCommand() const + { + switch(iCmdOp) + { + case TFeedbackAreaOpAdd: + TRAP_IGNORE(iAnim.AddFeedbackAreaL(iFeedbackAreaArray,iAreaCount,iCmdReplyFlag)); + break; + case TFeedbackAreaOpRemove: + TRAP_IGNORE(iAnim.RemoveFeedbackAreaL(iFeedbackAreaArray,iAreaCount,iCmdReplyFlag)); + break; + case TFeedbackAreaOpChange: + TRAP_IGNORE(iAnim.ChangeFeedbackAreaL(iFeedbackAreaArray,iAreaCount,iCmdReplyFlag)); + break; + case TFeedbackTypeOpChange: + TRAP_IGNORE(iAnim.ChangeFeedbackTypeL(iFeedbackAreaArray,iAreaCount,iCmdReplyFlag)); + break; + default: + return EFalse; + } + + return ETrue; + } +#endif // RD_TACTILE_FEEDBACK +TAnimEnableSpriteCmd::TAnimEnableSpriteCmd(RPeninputAnim& aAnim,TBool aFlag) + : TAnimCmd(aAnim),iSpriteFlag(aFlag) + { + } + +TBool TAnimEnableSpriteCmd :: ExecuteAnimCommand() const + { + iAnim.EnableSprite(iSpriteFlag); + return ETrue; + } +