##// END OF EJS Templates
Remove deprecated elements from APIs....
Remove deprecated elements from APIs. Task-number: QTRD-2098 Change-Id: Ib658c8a51af0b73ded5d6b13c8fa58762f859961 Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com> Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com>

File last commit:

r2740:377e4516d036
r2742:b1d7efa360aa
Show More
scroller_p.h
108 lines | 2.5 KiB | text/x-c | CLexer
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc
** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.io
**
** This file is part of the Qt Charts module.
**
** Licensees holding valid commercial license for Qt may use this file in
** accordance with the Qt License Agreement provided with the Software
** or, alternatively, in accordance with the terms contained in a written
** agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.io
**
****************************************************************************/
// W A R N I N G
// -------------
//
// This file is not part of the Qt Enterprise Chart API. It exists purely as an
// implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
#ifndef SCROLLER_P_H
#define SCROLLER_P_H
#include <QtCharts/QChartGlobal>
#include <QtCore/QObject>
#include <QtCore/QBasicTimer>
#include <QtCore/QTime>
#include <QtCore/QPointF>
class QGraphicsSceneMouseEvent;
QT_CHARTS_BEGIN_NAMESPACE
class Scroller;
class QLegend;
class ScrollTicker : public QObject
{
Q_OBJECT
public:
explicit ScrollTicker(Scroller *scroller, QObject *parent = 0);
void start(int interval);
void stop();
protected:
void timerEvent(QTimerEvent *event);
private:
QBasicTimer m_timer;
Scroller *m_scroller;
};
class Scroller
{
public:
enum State {
Idle,
Pressed,
Move,
Scroll
};
Scroller();
virtual ~Scroller();
virtual void setOffset(const QPointF &point) = 0;
virtual QPointF offset() const = 0;
void move(const QPointF &delta);
void scrollTo(const QPointF &delta);
void handleMousePressEvent(QGraphicsSceneMouseEvent *event);
void handleMouseMoveEvent(QGraphicsSceneMouseEvent *event);
void handleMouseReleaseEvent(QGraphicsSceneMouseEvent *event);
void scrollTick();
private:
void startTicker(int interval);
void stopTicker();
private:
void calculateSpeed(const QPointF &position);
void lowerSpeed(QPointF &speed, qreal maxSpeed = 100);
private:
ScrollTicker m_ticker;
QTime m_timeStamp;
QPointF m_speed;
QPointF m_fraction;
int m_timeTresholdMin;
int m_timeTresholdMax;
State m_state;
QPointF m_pressPos;
QPointF m_lastPos;
qreal m_treshold;
};
QT_CHARTS_END_NAMESPACE
#endif /* SCROLLER_P_H */