--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xnpointarray.h Thu Dec 17 08:40:49 2009 +0200
@@ -0,0 +1,101 @@
+/*
+* 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 _XNPOINTARRAY_H_
+#define _XNPOINTARRAY_H_
+
+// System includes
+#include <e32std.h>
+
+/**
+ * XnGestureHelper namespace
+ * Used for the whole gesture family - Gesture recognizer, gesture helper,
+ * Point array
+ */
+namespace XnGestureHelper
+ {
+
+ /**
+ * Represents a single point given at certain time
+ */
+ struct TXnPointEntry
+ {
+
+ /** constructor */
+ inline TXnPointEntry( const TPoint& aPos, const TTime& 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.
+ *
+ * @ingroup group_xnlayoutengine
+ */
+ NONSHARABLE_CLASS( TXnPointArray )
+ {
+ public:
+
+ /**
+ * Constructor
+ *
+ * @param aPoints points array to wrap (and filter)
+ */
+ TXnPointArray( const RArray< TXnPointEntry >& aPoints );
+
+ /**
+ * Length of the array
+ *
+ * @return Length of the array
+ */
+ TInt Count() const;
+
+ /**
+ * Returns point at position, may be filtered
+ * virtual so deriving classes can modify the point
+ * (e.g., filter one axis)
+ *
+ * @return A filtered point at aIndex. Default implementation same
+ * as Raw(...)
+ */
+ virtual TPoint operator[]( TInt aIndex ) const;
+
+ /**
+ * Nonfiltered index
+ *
+ * @return An raw, non-filtered point at aIndex
+ */
+ const TPoint& Raw( TInt aIndex ) const;
+
+ private:
+
+ /** Array of points, Not owned */
+ const RArray< TXnPointEntry >& iPoints;
+ };
+ } // namespace XnGestureHelper
+
+
+// Inline functions
+#include "xnpointarray.inl"
+
+#endif // _XNPOINTARRAY_H_