akntouchgesturefw/inc/akntouchgesturefwevent.h
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/akntouchgesturefw/inc/akntouchgesturefwevent.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,435 @@
+/*
+* 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:  Concrete touch gesture event classes.
+*
+*/
+
+#ifndef T_AKNTOUCHGESTUREFWEVENT_H
+#define T_AKNTOUCHGESTUREFWEVENT_H
+
+#include <akntouchgesturefwevents.h>
+
+namespace AknTouchGestureFw {
+
+/**
+ *  Unknown touch gesture event class.
+ */
+NONSHARABLE_CLASS( TAknTouchGestureFwUnknownEvent )
+    : public MAknTouchGestureFwEvent
+    {
+
+public: // From base class MAknTouchGestureFwEvent.
+
+    /**
+     * Returns the gesture group of the event.
+     *
+     * @return EAknTouchGestureFwNoGroup
+     */
+    TAknTouchGestureFwGroup Group() const;
+
+    /**
+     * Returns the gesture type of the event.
+     *
+     * @return EAknTouchGestureFwUnknown
+     */
+    TAknTouchGestureFwType Type() const;
+
+private: // From base class MAknTouchGestureFwEvent.
+
+    /**
+     * Virtual method provided to allow extensibility.
+     *
+     * @param  aInterface  Extension UID.
+     * @param  aParam      Parameter for the extension.
+     *
+     * @return KErrNotSupported as not currently implemented.
+     */
+    TInt Extension( TUid aInterface, TAny* aParam );
+    };
+
+
+/**
+ *  Tap touch gesture event class.
+ */
+NONSHARABLE_CLASS( TAknTouchGestureFwTapEvent )
+    : public MAknTouchGestureFwTapEvent
+    {
+
+public:
+
+    /**
+     * Sets the tap type.
+     *
+     * @param  aType  Type of the tap gesture.
+     */
+    void SetType( const TAknTouchGestureFwType aType );
+
+    /**
+     * Sets the tap position.
+     *
+     * @param  aPosition  The position at which the tap was received.
+     */
+    void SetPosition( const TPoint& aPosition );
+
+public: // From base class MAknTouchGestureFwTapEvent.
+
+    /**
+     * Returns the gesture group of the event.
+     *
+     * @return EAknTouchGestureFwGroupTap
+     */
+    TAknTouchGestureFwGroup Group() const;
+
+    /**
+     * Returns the gesture type of the event.
+     *
+     * @return Gesture type.
+     */
+    TAknTouchGestureFwType Type() const;
+
+    /**
+     * Returns the tap event position.
+     *
+     * @return Tap event position.
+     */
+    TPoint Position() const;
+
+private: // From base class MAknTouchGestureFwTapEvent.
+
+    /**
+     * Virtual method provided to allow extensibility.
+     *
+     * @param  aInterface  Extension UID.
+     * @param  aParam      Parameter for the extension.
+     *
+     * @return KErrNotSupported as not currently implemented.
+     */
+    TInt Extension( TUid aInterface, TAny* aParam );
+
+private:
+
+    /**
+     * Gesture type.
+     */
+    TAknTouchGestureFwType iType;
+
+    /**
+     * Tap position.
+     */
+    TPoint iPosition;
+    };
+
+
+/**
+ *  Drag touch gesture event class.
+ */
+NONSHARABLE_CLASS( TAknTouchGestureFwDragEvent )
+    : public MAknTouchGestureFwDragEvent
+    {
+
+public:
+
+    /**
+     * Sets the state of the drag gesture.
+     *
+     * @param  aState  State of the drag gesture.
+     */
+    void SetState( TAknTouchGestureFwState aState );
+
+    /**
+     * Sets the drag start position.
+     *
+     * @param  aStartPosition  Start position of the drag gesture.
+     */
+    void SetStartPosition( const TPoint& aStartPosition );
+
+    /**
+     * Sets the current position of the drag gesture.
+     *
+     * @param  aCurrentPosition  Current position in the drag gesture.
+     */
+    void SetCurrentPosition( const TPoint& aCurrentPosition );
+
+    /**
+     * Sets previous position of the drag gesture.
+     *
+     * @param  aPreviousPosition  Previous position in the drag gesture.
+     */
+    void SetPreviousPosition( const TPoint& aPreviousPosition );
+
+public: // From base class MAknTouchGestureFwDragEvent.
+
+    /**
+     * Returns the gesture group of the event.
+     *
+     * @return EAknTouchGestureFwGroupDrag
+     */
+    TAknTouchGestureFwGroup Group() const;
+
+    /**
+     * Returns the gesture type of the event.
+     *
+     * @return EAknTouchGestureFwDrag
+     */
+    TAknTouchGestureFwType Type() const;
+
+    /**
+     * Returns the gesture state of the event.
+     *
+     * State can be one of the following values:
+     *     - EAknTouchGestureFwStart, sent at the beginning of the gesture.
+     *     - EAknTouchGestureFwStop, sent at the end of the gesture.
+     *     - EAknTouchGestureFwOn, sent during the gesture recognition.
+     *
+     * @return Gesture state.
+     */
+    TAknTouchGestureFwState State() const;
+
+    /**
+     * Returns the drag event start position.
+     *
+     * @return Drag event start position.
+     */
+    TPoint StartPosition() const;
+
+    /**
+     * Returns the drag event current position.
+     *
+     * @return Drag event current position.
+     */
+    TPoint CurrentPosition() const;
+
+    /**
+     * Returns the drag event previous position.
+     *
+     * @return Drag event previous position.
+     */
+    TPoint PreviousPosition() const;
+
+private: // From base class MAknTouchGestureFwDragEvent.
+
+    /**
+     * Virtual method provided to allow extensibility.
+     *
+     * @param  aInterface  Extension UID.
+     * @param  aParam      Parameter for the extension.
+     *
+     * @return KErrNotSupported as not currently implemented.
+     */
+    TInt Extension( TUid aInterface, TAny* aParam );
+
+private:
+
+    /**
+     * Gesture state.
+     */
+    TAknTouchGestureFwState iState;
+
+    /**
+     * Drag start position.
+     */
+    TPoint iStartPosition;
+
+    /**
+     * Drag current position.
+     */
+    TPoint iCurrentPosition;
+
+    /**
+     * Drag previous position.
+     */
+    TPoint iPreviousPosition;
+    };
+
+
+/**
+ *  Flick touch gesture event class.
+ */
+NONSHARABLE_CLASS( TAknTouchGestureFwFlickEvent )
+    : public MAknTouchGestureFwFlickEvent
+    {
+
+public:
+
+    /**
+     * Sets the flick type.
+     *
+     * @param  aType  Type of the flick gesture.
+     */
+    void SetType( TAknTouchGestureFwType aType );
+
+    /**
+     * Sets the flick position.
+     *
+     * @param  aFlickPosition  Position of the flick.
+     */
+    void SetPosition( const TPoint& aFlickPosition );
+
+    /**
+     * Sets the flick speed.
+     *
+     * @param  aSpeed  Speed of the flick.
+     */
+    void SetSpeed( const TPoint& aSpeed );
+
+public: // From base class MAknTouchGestureFwFlickEvent.
+
+    /**
+     * Returns the gesture group of the event.
+     *
+     * @return EAknTouchGestureFwGroupFlick
+     */
+    TAknTouchGestureFwGroup Group() const;
+
+    /**
+     * Returns the gesture type of the event.
+     *
+     * @return Gesture type.
+     */
+    TAknTouchGestureFwType Type() const;
+
+    /**
+     * Returns the flick position, which is the
+     * position where pointer was released with speed.
+     *
+     * @return Flick position.
+     */
+    TPoint Position() const;
+
+    /**
+     * Flick speed in pixels per second.
+     *
+     * @return Flick speed.
+     */
+    TPoint Speed() const;
+
+private: // From base class MAknTouchGestureFwFlickEvent.
+
+    /**
+     * Virtual method provided to allow extensibility.
+     *
+     * @param  aInterface  Extension UID.
+     * @param  aParam      Parameter for the extension.
+     *
+     * @return KErrNotSupported as not currently implemented.
+     */
+    TInt Extension( TUid aInterface, TAny* aParam );
+
+private:
+
+    /**
+     * Gesture type.
+     */
+    TAknTouchGestureFwType iType;
+
+    /**
+     * Flick position.
+     */
+    TPoint iFlickPosition;
+
+    /**
+     * Flick speed.
+     */
+    TPoint iSpeed;
+    };
+
+
+/**
+ *  Pinch touch gesture event class.
+ */
+NONSHARABLE_CLASS( TAknTouchGestureFwPinchEvent )
+    : public MAknTouchGestureFwPinchEvent
+    {
+
+public:
+
+    /**
+     * Sets the pinch state.
+     *
+     * @param  aState  State of the pinch gesture.
+     */
+    void SetState( TAknTouchGestureFwState aState );
+
+    /**
+     * Sets the pinch movement.
+     *
+     * @param  aMovement  The pinch movement in percents.
+     */
+    void SetMovement( TInt aMovement );
+
+public: // From base class MAknTouchGestureFwPinchEvent.
+
+    /**
+     * Returns the gesture group of the event.
+     *
+     * @return EAknTouchGestureFwGroupPinch
+     */
+    TAknTouchGestureFwGroup Group() const;
+
+    /**
+     * Returns the gesture type of the event.
+     *
+     * @return EAknTouchGestureFwPinch
+     */
+    TAknTouchGestureFwType Type() const;
+
+    /**
+     * Returns the gesture state of the event.
+     *
+     * State can be one of the following values:
+     *     - EAknTouchGestureFwStart, sent at the beginning of the gesture.
+     *     - EAknTouchGestureFwStop, sent at the end of the gesture.
+     *     - EAknTouchGestureFwOn, sent during the gesture recognition.
+     *
+     * @return Gesture state.
+     */
+    TAknTouchGestureFwState State() const;
+
+    /**
+     * Returns pinch percent value, range is non-negative.
+     *
+     * @return Pinch percent value.
+     */
+    TInt Movement() const;
+
+private: // From base class MAknTouchGestureFwPinchEvent.
+
+    /**
+     * Virtual method provided to allow extensibility.
+     *
+     * @param  aInterface  Extension UID.
+     * @param  aParam      Parameter for the extension.
+     *
+     * @return KErrNotSupported as not currently implemented.
+     */
+    TInt Extension( TUid aInterface, TAny* aParam );
+
+private:
+
+    /**
+     * Pinch state.
+     */
+    TAknTouchGestureFwState iState;
+
+    /**
+     * Pinch movement.
+     */
+    TInt iMovement;
+    };
+
+} // namespace AknTouchGestureFw
+
+#endif // T_AKNTOUCHGESTUREFWEVENT_H
+
+// End of File