1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#ifndef QBoolAnimation_h
#define QBoolAnimation_h
#include "QPropertyAnimation"
class QBoolAnimation : public QPropertyAnimation
{
Q_OBJECT
public:
QBoolAnimation(double tipping_point, QObject* target, const QByteArray & prop, QObject * p = 0 )
: QPropertyAnimation(target, prop, p), mTippingPoint(tipping_point)
{}
protected:
QVariant interpolated(const QVariant& from, const QVariant& to, qreal progress) const
{
double f = from.toDouble();
double t = to.toDouble();
double i = QPropertyAnimation::interpolated(f, t, progress).toDouble();
if(f < t)
return i >= mTippingPoint;
return i <= mTippingPoint;
}
double mTippingPoint;
};
#endif
|