/** Copyright (c) 2008 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: Array of points**/#ifndef _POINTARRAY_H_#define _POINTARRAY_H_#include <e32std.h>namespace GestureHelper{/** * Represents a single point given at certain time */struct TPointEntry { /** constructor */ inline TPointEntry( const TPoint& aPos, const TTime& aTime ) : iPos( aPos ), iTime( aTime ) { } TPoint iPos; TTime iTime; };/** * Array of points that wraps another point array * The purpose of this class is to allow deriving classes to override [] * and in that member function adjust the point, e.g., by setting one * axis to always a constant value. This allows providing a sequence of * points to the recogniser in which the other axis is ignored. */NONSHARABLE_CLASS( TPointArray ) {public: /** * @param aPoints points array to wrap (and filter) */ TPointArray( const RArray< TPointEntry >& aPoints ); /** @returns length of the array */ TInt Count() const; /** * @returns a filtered point at aIndex. Default implementation same * as Raw(...) * virtual so deriving classes can modify the point (e.g., filter one axis) */ virtual TPoint operator[]( TInt aIndex ) const; /** @returns an raw, non-filtered point at aIndex */ TPoint Raw( TInt aIndex ) const;private: const RArray< TPointEntry >& iPoints; };} // namespace GestureHelper#endif // _POINTARRAY_H_