ganeswidgets/inc/hgspring.h
changeset 11 42505cd701c6
parent 5 4fa04caf0f43
equal deleted inserted replaced
7:5ebec3429918 11:42505cd701c6
    28  * Spring physics class.
    28  * Spring physics class.
    29  */
    29  */
    30 class HgSpring : public QObject
    30 class HgSpring : public QObject
    31 {
    31 {
    32     Q_OBJECT
    32     Q_OBJECT
       
    33     Q_PROPERTY(qreal mDamping READ damping WRITE setDamping)
       
    34     Q_PROPERTY(qreal mK READ k WRITE setK)
       
    35     
    33 public:
    36 public:
    34 
    37 
    35     explicit HgSpring();    
    38     explicit HgSpring();    
    36     virtual ~HgSpring();
    39     virtual ~HgSpring();
    37     
    40     
       
    41     qreal k() const;
       
    42     qreal damping() const;
    38     void setK(qreal K);
    43     void setK(qreal K);
    39     void setDamping(qreal damping);
    44     void setDamping(qreal damping);
    40     
    45     
    41     void animateToPos(const QPointF& pos);
    46     void animateToPos(const QPointF& pos);
       
    47     void animateToPosAfterPanning(const QPointF& pos, qreal worldWidth);
    42     void gotoPos(const QPointF& pos);
    48     void gotoPos(const QPointF& pos);
    43     void cancel();
    49     void cancel();
    44     bool isActive() const;
    50     bool isActive() const;
    45     void resetVelocity();
    51     void resetVelocity();
    46 
    52 
    61     Q_DISABLE_COPY(HgSpring)
    67     Q_DISABLE_COPY(HgSpring)
    62 
    68 
    63     QPointF mStartPos;
    69     QPointF mStartPos;
    64     QPointF mPos;
    70     QPointF mPos;
    65     QPointF mEndPos;
    71     QPointF mEndPos;
       
    72     QPointF mEndPosOverListBoundary;
    66     QPointF mVelocity;
    73     QPointF mVelocity;
    67     qreal mK;
    74     qreal mK;
    68     qreal mDamping;
    75     qreal mDamping;
    69     int mAccumulator;
    76     int mAccumulator;
    70     QTimer* mTimer;
    77     QTimer* mTimer;
    71     QTime mPrevTime;
    78     QTime mPrevTime;
    72     bool mDoNotUpdate;
    79     bool mDoNotUpdate;
       
    80     
       
    81     bool mEndPosOverListEdge;
       
    82     qreal mWorldWidth;
    73 };
    83 };
    74 
    84 
    75 #endif
    85 #endif