21 #include "../pixmapcache.h"
24 #include <QGraphicsScene>
27 #include <QVariantAnimation>
40 timer.setSingleShot(
true);
49 [
this](
const QVariant& val) {
alpha = val.toDouble(); });
56 return QRectF(QPointF(-
size.width() / 2.0, -
size.height() / 2.0),
size);
59 void Spinner::paint(QPainter* painter,
const QStyleOptionGraphicsItem* option, QWidget* widget)
63 QTransform trans = QTransform().rotate(
curRot)
64 .translate(-
size.width() / 2.0, -
size.height() / 2.0);
65 painter->setOpacity(
alpha);
66 painter->setTransform(trans,
true);
67 painter->setRenderHint(QPainter::SmoothPixmapTransform);
68 painter->drawPixmap(0, 0,
pmap);
70 if (!
timer.isActive()) {
91 float angle = QTime::currentTime().msecsSinceStartOfDay() / 1000.0f *
rotSpeed;
93 curRot = remainderf(angle, 360.0f);
96 scene()->invalidate(sceneBoundingRect());