ganeswidgets/inc/hgdrag.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 18 Aug 2010 10:52:49 +0300
changeset 13 8bf920201dea
parent 0 89c329efa980
permissions -rw-r--r--
Revision: 201031 Kit: 201033

/*
* Copyright (c) 2010 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: Container for pan (drag) gesture -related data and logic.
*
*/

#ifndef HGDRAG_H
#define HGDRAG_H

#include <QTime>

class HgDrag
{
public:
    HgDrag();
    void reset(const qreal delta, const qreal viewPos);
    qreal update(const qreal delta, const qreal viewPos, const qreal itemWidth);
    bool finish(const qreal viewPos, bool stopToFullItem, qreal &newPos);
    qreal viewPosAtStart() const;
    
private:
    QTime mDuration;
    qreal mViewPosAtStart;
    qreal mLength;
    qreal mCumulatedDelta;
    int mDirection;
    int mDirectionChange;
};

#endif // HGDRAG_H