diff -r bf7481649c98 -r 7f25ef56562d windowing/windowserver/test/tauto/TPointer.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/windowing/windowserver/test/tauto/TPointer.H Wed Jun 23 19:41:15 2010 +0300 @@ -0,0 +1,167 @@ +// Copyright (c) 1996-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: +// + +/** + @file + @test + @internalComponent - Internal Symbian test code +*/ + +#ifndef __TPOINTER_H__ +#define __TPOINTER_H__ + +#include +#include +#include +#include "../tlib/testbase.h" +#include "AUTO.H" +#include "TGraphicsHarness.h" + +class CTPointer; +class CGrabWindow; + +class CPointerWindow : public CTWin + { + enum {KRepeatMargin=200000}; // 0.2 Seconds + enum {KRepeatCount=4}; + enum {KRepeatIntervalIncrements=100000}; + enum {KRepeatRectXExtra=50}; + enum {KRepeatRectYExtra=50}; + enum {KStateWaitingForTest1,KStateFailed,KStateTesting1, + KStateWaitingForTest2,KStateTesting2, + KStateWaitingForTest3,KStateTesting3, + KStateWaitingForTest4,KStateTesting4, + KStateWaitingForTest5,KStateTesting5, + KStateWaitingForTest6,KStateTesting6, + KStateWaitingForTest8,KStateTesting8, + KStateWaitingForTest7,KStateTesting7, + KStateFinished}; +public: + CPointerWindow(CTPointer *aTest); + void SetUpLD(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc); + void Draw(); + void StartNextRepeatTest(); + void QueueNextRepeat(); + void PointerL(const TPointerEvent &aPointer,const TTime&); + void WinKeyL(const TKeyEvent &aKey,const TTime &aTime); +private: + void SwitchOn(const TTime &); + void ResetTest(TInt aState); + void SetState(TInt aState); + void FinishedTests(); + void TestFailed(TBool aRetest=EFalse); + void SendEvent(); +private: + CTPointer *iTest; + TInt iRepeatCount; + TInt iState; + TTimeIntervalMicroSeconds32 iInterval; + TTime iPrevTime; + TRect iRepeatRect; + TPoint iTl; + TSize iSize; + }; + +class CGrabWindow2 : public CTWin + { +public: + CGrabWindow2(CGrabWindow *aWindow); + void SetUpLD(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc); +private: + void Draw(); + void PointerL(const TPointerEvent &aPointer,const TTime&); +private: + CGrabWindow *iGrabWindow; + }; + +class CGrabWindow : public CTWin + { + enum {KGrabStateWaitingForDown,KGrabStateWaitingForDragOut,KGrabStateWaitingForUp,KGrabStateFinished, + KGrabStateWaitingForDown2,KGrabStateWaitingForUp2a,KGrabStateWaitingForDrag2,KGrabStateWaitingForUp2b, + KGrabStateWaitingForDown3,KGrabStateWaitingForUp3a,KGrabStateWaitingForUp3b, + KGrabStateWaitingForDown4,KGrabStateWaitingForUp4, + KGrabStateWaitingForDown5,KGrabStateWaitingForUp5,KGrabStateWaitingForDrag5, + KStateFailed}; +public: + CGrabWindow(CTPointer *aTest); + void Pointer2(const TPointerEvent &aPointer); + void SetUpLD(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc); + void WinKeyL(const TKeyEvent &aKey,const TTime &aTime); +private: + void Draw(); + void SetState(TInt aState); + void ResetTest(); + void PointerL(const TPointerEvent &aPointer,const TTime&); + void TestFailed(); + void FinishedTests(); + void SendEvent(); +private: + TInt iState; + CTPointer *iTest; + TPoint iTl; + TSize iSize; + }; + + +class CTPointer : public CTWsGraphicsBase + { +public: + enum {KTimeOutAfter=20000000}; //20secs +public: + CTPointer(CTestStep* aStep); + ~CTPointer(); + void ConstructL(); + + TBool TestFailed(TInt aCase,TBool aRetry=EFalse); + void StartGrabTestL(); + static TInt TimeOut(TAny* aTest); + void TimeOut(); + CGrabWindow2 *GrabWin2() const; + inline TBool Digitiser() const {return !iNoDigitiser;} + inline void SimulatePointer(TRawEvent::TType aType, TInt aX, TInt aY){iTest->SimulatePointer(aType, aX, aY);} + inline void SimulateEvent(TRawEvent::TType aType){iTest->SimulateEvent(aType);} +protected: + virtual void RunTestCaseL(TInt aCurTestCase); +private: + TInt doTestFailedL(); + inline TestClient* Client() {return TheClient;} + TInt iState; + +private: + CTimeOut* iTimeOut; + TInt iTimeOutCount; + CPointerWindow *iRepeatWin; + CGrabWindow *iGrabWin; + CGrabWindow2 *iGrabWin2; + TSize iWinSize; + //TInt iState; + TBool iOldPointerState; + TBool iNoDigitiser; + }; + + +class CTPointerStep : public CTGraphicsStep + { +public: + CTPointerStep(); +protected: + //from CTGraphicsStep + virtual CTGraphicsBase* CreateTestL(); + }; + +_LIT(KTPointerStep,"TPointer"); + + +#endif