/*
* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "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: Algorithm to recognise gesture from a stream of points
*
*/
#ifndef _GESTURERECOGNISER_H_
#define _GESTURERECOGNISER_H_
#include <e32std.h>
#include "rt_gestureobserver.h"
namespace RT_GestureHelper
{
class TPointArray;
/**
* Note: Not a static class or a function pointer, just to make it sligthly
* easier to replace it with a heavier implementation
*/
NONSHARABLE_CLASS( TGestureRecogniser )
{
public:
/**
* Translates points into a gesture code
* @param aPoints Points that form the gestures. Client is not required
* to pass in repeated points (sequential points that are
* almost in the same place)
* @param aIsHolding ETrue if gesture was ended at pointer being held down at same position
* EFalse if gesture ended at pointer being released
* @return recognised gesture id or EUnknownGesture
*/
TGestureCode GestureCode( const TPointArray& aPoints ) const;
};
} // namespace GestureHelper
#endif // _GESTURERECOGNISER_H_