##// END OF EJS Templates
Spline to QML API
Spline to QML API

File last commit:

r693:1d2255713343
r732:4aded284df80
Show More
baranimation.cpp
52 lines | 1.4 KiB | text/x-c | CppLexer
sauimone
Animation framework for barchart.
r671 #include "baranimation_p.h"
#include "barchartitem_p.h"
#include <QParallelAnimationGroup>
#include <QTimer>
sauimone
barchart animation mechanics working. still some todo
r681 Q_DECLARE_METATYPE(QVector<QRectF>)
//Q_DECLARE_METATYPE(BarLayout) // TODO?
sauimone
Animation framework for barchart.
r671
QTCOMMERCIALCHART_BEGIN_NAMESPACE
BarAnimation::BarAnimation(BarChartItem *item)
:ChartAnimation(item),
m_item(item)
{
}
BarAnimation::~BarAnimation()
{
}
QVariant BarAnimation::interpolated(const QVariant &from, const QVariant &to, qreal progress) const
{
sauimone
barchart animation mechanics working. still some todo
r681 QVector<QRectF> startVector = qVariantValue<QVector<QRectF> > (from);
QVector<QRectF> endVector = qVariantValue<QVector<QRectF> > (to);
QVector<QRectF> result;
sauimone
Animation framework for barchart.
r671
Q_ASSERT(startVector.count() == endVector.count()) ;
for(int i =0 ;i< startVector.count();i++){
sauimone
barchart animation fix
r693 qreal w = endVector[i].width();
qreal h = startVector[i].height() + ((endVector[i].height() - startVector[i].height()) * progress);
qreal x = endVector[i].topLeft().x();
qreal y = endVector[i].topLeft().y() + endVector[i].height() - h;
QPointF topLeft(x,y);
QSizeF size(w,h);
sauimone
barchart animation mechanics working. still some todo
r681 QRectF value(topLeft,size);
result << value;
sauimone
Animation framework for barchart.
r671 }
return qVariantFromValue(result);
}
sauimone
barchart animation mechanics working. still some todo
r681 void BarAnimation::updateCurrentValue(const QVariant &value)
sauimone
Animation framework for barchart.
r671 {
sauimone
barchart animation mechanics working. still some todo
r681 QVector<QRectF> layout = qVariantValue<QVector<QRectF> >(value);
m_item->setLayout(layout);
sauimone
Animation framework for barchart.
r671 }
#include "moc_baranimation_p.cpp"
QTCOMMERCIALCHART_END_NAMESPACE