--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/tauto/TPointer.H Tue Feb 02 01:47:50 2010 +0200
@@ -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 <e32std.h>
+#include <w32std.h>
+#include <hal.h>
+#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