diff -r d40e813b23c0 -r 48060abbbeaf htiui/HtiServicePlugins/HtiKeyEventServicePlugin/inc/MultiTouchPointerEvent.h --- a/htiui/HtiServicePlugins/HtiKeyEventServicePlugin/inc/MultiTouchPointerEvent.h Thu Jul 15 18:39:46 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,132 +0,0 @@ -/* -* Copyright (c) 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: Functional implementation of one touch(pointer sequence) event service. -* -*/ - -#ifndef CMULTITOUCHPOINTER_UNIT_H -#define CMULTITOUCHPOINTER_UNIT_H - -// INCLUDES -#include -#include - -// CONSTANTS - -// MACROS - -// DATA TYPES - -// FUNCTION PROTOTYPES - -// FORWARD DECLARATIONS - -// CLASS DECLARATION -class CMultiTouchPointerEventHandler; - -/** -* Functional implentation of pointer event service. -*/ -class CMultiTouchPointerEvent : public CActive - { - public: - - /** - * Two-phased constructor. - */ - static CMultiTouchPointerEvent* NewL(TUint8 aTouchNumber, - CMultiTouchPointerEventHandler* aEventHandler); - - /** - * Destructor. - */ - virtual ~CMultiTouchPointerEvent(); - - - /** - * Touch active object start function - * @param aDelayTime initial wait time to start "finger" down for touch - */ - void StartTouch(); - - void AddPointL(TTimeIntervalMicroSeconds32 aTime, - TInt aX, TInt aY, TInt aZ, TRawEvent::TType aEventType); - - void PrintInfo(); - - /** - * Insert a dragging event between two given pointers - * Interpolate pointer sequence with step aStepCount and dragging time. - * @param aX1, aY1, aZ1 3D coordinate of start point - * @param aX2, aY2, aZ2 3D coordinate of end point - * @param aDragTime dragging time between start point and end point - * @param aStepCount step count between two points - */ - void InterpolatePointL(TInt aX1,TInt aY1, TInt aZ1, TInt aX2,TInt aY2, TInt aZ2, - TTimeIntervalMicroSeconds32 aDragTime, TInt aStepCount); - - protected: // Functions from base classes - - // From CActive - void RunL(); - TInt RunError(TInt aError); - void DoCancel(); - - private: - - /** - * C++ default constructor. - */ - CMultiTouchPointerEvent(TUint8 aTouchNumber, CMultiTouchPointerEventHandler* aEventHandler); - - /** - * 2nd phase constructor. - */ - void ConstructL(); - - void SimulatePointerEvent(); - - /** - * Insert an advanced pointer to pointer sequence array for a touch - * @param aX, aY, aZ pointer 3D coordinate - * @param aEventType event type - */ - void InsertPointArrayL(TInt aX, TInt aY, TInt aZ, TRawEvent::TType aEventType); - - /** - * Insert time duration to time array - * @param aDelayTime time duation to wait for - */ - void InsertTimeArrayL(TTimeIntervalMicroSeconds32 aDelayTime); - - private: // data - - struct TAdvancedPointer - { - TInt X; - TInt Y; - TInt Z; - TRawEvent::TType EventType; - }; - - CMultiTouchPointerEventHandler* iEventHandler; - TUint8 iTouchNumber; - - RTimer iTimer; - - RPointerArray iAdvPointerArray; - RPointerArray iTimeArray; - }; - -#endif // CMULTITOUCHPOINTER_UNIT_H