diff -r 000000000000 -r eb1f2e154e89 fep/frontendprocessor/test/feps/tfep2be.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fep/frontendprocessor/test/feps/tfep2be.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,127 @@ +// Copyright (c) 1997-2009 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: +// + +#if !defined(__TFEP2BE_H__) +#define __TFEP2BE_H__ + +#if !defined(__E32STD_H__) +#include +#endif + +#if !defined(__E32BASE_H__) +#include +#endif + +#if !defined(__W32ADLL_H__) +#include +#endif + +#if !defined(__TFEP2COM_H__) +#include "tfep2com.h" +#endif + +class TRawEvent; +class CFbsBitmapDevice; +class CFbsBitGc; + +class CTstHandWritingRecognizer : public CSpriteAnim + { +public: + CTstHandWritingRecognizer(); + ~CTstHandWritingRecognizer(); + void HandleTimeOut(); +private: + typedef CArrayFix CPolyLine; + enum + { + EPenWidthForMainBitmap=4, + EPenWidthForMaskBitmap=6 + }; + enum + { + EFlagReferenceCountIncremented =0x00000001, + EFlagPointerIsDown =0x00000002, + EFlagUpperCase =0x00000004 + }; + struct SBitmapHandlesWithReferenceCount + { + STstBitmapHandles iBitmapHandles; + TInt iReferenceCount; + }; + class RFlatArrayOfCharacters + { + public: + RFlatArrayOfCharacters(TInt aGranularity); + void ConstructL(); + void Close(); + void AppendL(TUint aCharacter); + TInt Count() const; + TPtrC8 DescriptorFromStart(TInt aNumberOfCharacters) const; + void RemoveFromStart(TInt aNumberOfCharacters); + void Reset(); + private: + const TInt iGranularity; + HBufC8* iDescriptor; + }; + class CTimeOutTimer : public CTimer + { + public: + static CTimeOutTimer* NewL(CTstHandWritingRecognizer& aHandWritingRecognizer); + virtual ~CTimeOutTimer(); + private: + CTimeOutTimer(CTstHandWritingRecognizer& aHandWritingRecognizer); + virtual void RunL(); + private: + CTstHandWritingRecognizer& iHandWritingRecognizer; + }; +private: + void ConstructLP(TAny* aParameters); + TInt CommandReplyLP(TInt aOpcode, TAny* aParameters); + TBool OfferRawEventLP(const TRawEvent& aRawEvent); + void DoRecognitionL(); + void MovePendingCharactersToClientBufferL(); + void CompleteRequestForCharacters(TInt aErrorCode); + void ClearBitmap(CFbsBitmapDevice& aBitmap); + void DrawLine(CFbsBitmapDevice& aBitmap, TRect& aRectangleDrawnTo, TInt aPenSize, const TPoint& aPoint1, const TPoint& aPoint2); + void Plot(CFbsBitmapDevice& aBitmap, TRect& aRectangleDrawnTo, TInt aPenSize, const TPoint& aPoint); + // from CSpriteAnim + virtual void ConstructL(TAny* aParameters); + // from CAnim + virtual TInt CommandReplyL(TInt aOpcode, TAny* aParameters); + virtual void Command(TInt aOpcode, TAny* aParameters); + virtual void Animate(TDateTime* aDateTime); + // from MEventHandler (indirectly, via CAnim) + virtual TBool OfferRawEvent(const TRawEvent& aRawEvent); +private: + TUint iFlags; + RPointerArray iArrayOfPolyLines; + RFlatArrayOfCharacters iArrayOfCharactersPending; + CTimeOutTimer* iTimeOutTimer; + RMessagePtr2 iMessage_RequestForNotificationOfStartOfTransaction; + RMessagePtr2 iMessage_RequestForCharacters; + TInt iMaximumLengthOfClientSideCharacterBuffer; // effectively the MaxLength of the descriptor in the client-side address-space + CFbsBitmapDevice* iMainBitmap; + CFbsBitmapDevice* iMaskBitmap; + CFbsBitGc* iGraphicsContext; + }; + +class CTstDll : public CAnimDll + { +public: + CAnim* CreateInstanceL(TInt aType); + }; + +#endif +