Add QNumberStyleAnimation for fading out scroll bars on Mac
Change-Id: I6a85ed069a418d62078af6490a3d3186d5599a95 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>bb10
parent
788e1b2ffa
commit
85a8df184b
|
|
@ -163,4 +163,49 @@ bool QProgressStyleAnimation::isUpdateNeeded() const
|
|||
return false;
|
||||
}
|
||||
|
||||
QNumberStyleAnimation::QNumberStyleAnimation(QObject *target) :
|
||||
QStyleAnimation(target), _start(0.0), _end(1.0), _prev(0.0)
|
||||
{
|
||||
setDuration(250);
|
||||
}
|
||||
|
||||
qreal QNumberStyleAnimation::startValue() const
|
||||
{
|
||||
return _start;
|
||||
}
|
||||
|
||||
void QNumberStyleAnimation::setStartValue(qreal value)
|
||||
{
|
||||
_start = value;
|
||||
}
|
||||
|
||||
qreal QNumberStyleAnimation::endValue() const
|
||||
{
|
||||
return _end;
|
||||
}
|
||||
|
||||
void QNumberStyleAnimation::setEndValue(qreal value)
|
||||
{
|
||||
_end = value;
|
||||
}
|
||||
|
||||
qreal QNumberStyleAnimation::currentValue() const
|
||||
{
|
||||
qreal step = qreal(currentTime() - delay()) / (duration() - delay());
|
||||
return _start + qMax(qreal(0), step) * (_end - _start);
|
||||
}
|
||||
|
||||
bool QNumberStyleAnimation::isUpdateNeeded() const
|
||||
{
|
||||
if (QStyleAnimation::isUpdateNeeded()) {
|
||||
qreal current = currentValue();
|
||||
if (!qFuzzyCompare(_prev, current))
|
||||
{
|
||||
_prev = current;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -110,6 +110,30 @@ private:
|
|||
mutable int _step;
|
||||
};
|
||||
|
||||
class QNumberStyleAnimation : public QStyleAnimation
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QNumberStyleAnimation(QObject *target);
|
||||
|
||||
qreal startValue() const;
|
||||
void setStartValue(qreal value);
|
||||
|
||||
qreal endValue() const;
|
||||
void setEndValue(qreal value);
|
||||
|
||||
qreal currentValue() const;
|
||||
|
||||
protected:
|
||||
bool isUpdateNeeded() const;
|
||||
|
||||
private:
|
||||
qreal _start;
|
||||
qreal _end;
|
||||
mutable qreal _prev;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // QSTYLEANIMATION_P_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue