chartanimator_p.h
77 lines
| 2.7 KiB
| text/x-c
|
CLexer
Jani Honkonen
|
r794 | /**************************************************************************** | ||
** | ||||
** Copyright (C) 2012 Digia Plc | ||||
** All rights reserved. | ||||
** For any questions to Digia, please use contact form at http://qt.digia.com | ||||
** | ||||
** This file is part of the Qt Commercial Charts Add-on. | ||||
** | ||||
** $QT_BEGIN_LICENSE$ | ||||
** Licensees holding valid Qt Commercial licenses may use this file in | ||||
** accordance with the Qt Commercial 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.digia.com | ||||
** $QT_END_LICENSE$ | ||||
** | ||||
****************************************************************************/ | ||||
Michal Klocek
|
r530 | #ifndef CHARTANIMATOR_P_H_ | ||
#define CHARTANIMATOR_P_H_ | ||||
#include "qchartglobal.h" | ||||
#include "chartanimation_p.h" | ||||
Jani Honkonen
|
r618 | #include "piechartitem_p.h" | ||
sauimone
|
r671 | #include "barchartitem_p.h" | ||
Michal Klocek
|
r531 | #include <QPointF> | ||
Michal Klocek
|
r530 | |||
QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||||
class ChartItem; | ||||
Michal Klocek
|
r677 | class Axis; | ||
Michal Klocek
|
r560 | class AreaChartItem; | ||
Michal Klocek
|
r622 | class SplineChartItem; | ||
class ScatterChartItem; | ||||
class LineChartItem; | ||||
class XYChartItem; | ||||
Michal Klocek
|
r530 | |||
class ChartAnimator : public QObject { | ||||
public: | ||||
Marek Rosa
|
r738 | enum State{ShowState, ScrollUpState, ScrollDownState, ScrollLeftState, ScrollRightState, ZoomInState, ZoomOutState}; | ||
Michal Klocek
|
r677 | |||
Michal Klocek
|
r530 | ChartAnimator(QObject *parent = 0); | ||
virtual ~ChartAnimator(); | ||||
Marek Rosa
|
r738 | void addAnimation(Axis *item); | ||
void addAnimation(PieChartItem *item); | ||||
void addAnimation(ScatterChartItem *item); | ||||
void addAnimation(LineChartItem *item); | ||||
void addAnimation(SplineChartItem *item); | ||||
void addAnimation(BarChartItem *item); | ||||
void removeAnimation(Chart *item); | ||||
Michal Klocek
|
r530 | |||
void animationStarted(); | ||||
Marek Rosa
|
r738 | void updateLayout(XYChartItem *item, QVector<QPointF> &oldLayout, QVector<QPointF> &newLayout, int index); | ||
void updateLayout(SplineChartItem *item, QVector<QPointF> &oldPoints, QVector<QPointF> &newPoints, QVector<QPointF> &oldControlPoints, QVector<QPointF> &newContorlPoints, int index); | ||||
void updateLayout(Axis *item, QVector<qreal> &layout); | ||||
Michal Klocek
|
r530 | |||
Marek Rosa
|
r738 | void addAnimation(PieChartItem *item, QPieSlice *slice, const PieSliceData &sliceData, bool isEmpty); | ||
void removeAnimation(PieChartItem *item, QPieSlice *slice); | ||||
void updateLayout(PieChartItem *item, const PieLayout &layout); | ||||
void updateLayout(PieChartItem *item, QPieSlice *slice, const PieSliceData &sliceData); | ||||
Jani Honkonen
|
r618 | |||
Marek Rosa
|
r738 | void updateLayout(BarChartItem *item, const QVector<QRectF> &oldLayout, const QVector<QRectF> &newLayout); | ||
sauimone
|
r671 | |||
Marek Rosa
|
r738 | void setState(State state,const QPointF &point = QPointF()); | ||
Michal Klocek
|
r531 | |||
Michal Klocek
|
r530 | private: | ||
Marek Rosa
|
r738 | QMap<Chart *, ChartAnimation *> m_animations; | ||
Michal Klocek
|
r531 | State m_state; | ||
QPointF m_point; | ||||
Michal Klocek
|
r530 | }; | ||
QTCOMMERCIALCHART_END_NAMESPACE | ||||
#endif | ||||