https://github.com/ialhashim/topo-blend
Revision 39b13612ebd645a65eda854771b517371f2f858a authored by ennetws on 13 March 2015, 18:17:18 UTC, committed by ennetws on 13 March 2015, 18:17:18 UTC
1 parent c702819
Tip revision: 39b13612ebd645a65eda854771b517371f2f858a authored by ennetws on 13 March 2015, 18:17:18 UTC
Create README.md
Create README.md
Tip revision: 39b1361
SpinnerItem.h
#pragma once
#include <QGraphicsItem>
#include <QColor>
#include <QPainter>
#include <QTimer>
class SpinnerItem : public QGraphicsItem {
public:
SpinnerItem(int radius, int lineWidth, QColor color, int spanAngle = 60) :
width(radius), height(radius), lineWidth(lineWidth), color(color), spanAngle(spanAngle), timer(new QTimer){}
int width, height, lineWidth, spanAngle;
QColor color;
QTimer * timer;
QRectF boundingRect() const { return QRectF(0,0,width,height); }
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
Q_UNUSED(option)
Q_UNUSED(widget)
int radius = width * 0.5;
painter->translate(1,1);
painter->setPen(QPen(QColor(0,0,0,60), lineWidth));
painter->drawEllipse(boundingRect().center(), radius, radius);
painter->translate(-1,-1);
QColor backColor = color;
backColor.setAlphaF(0.15);
painter->setPen(QPen(backColor, lineWidth));
painter->drawEllipse(boundingRect().center(), radius, radius);
int startAngle = 90 - (spanAngle * 0.5);
painter->setPen(QPen(color, lineWidth));
painter->drawArc(boundingRect(), startAngle * 16, spanAngle * 16);
}
};
Computing file changes ...