Move buildPath into Utils

This commit is contained in:
craig.p.drummond
2014-06-25 16:45:59 +00:00
parent 1173ee5b63
commit e08a2e80fe
8 changed files with 31 additions and 93 deletions

View File

@@ -32,22 +32,6 @@
#include <QStyleOptionToolButton>
#include <QApplication>
#include <QPainter>
#include <QPainterPath>
#ifdef Q_OS_MAC
static QPainterPath buildPath(const QRectF &r, double radius)
{
QPainterPath path;
double diameter(radius*2);
path.moveTo(r.x()+r.width(), r.y()+r.height()-radius);
path.arcTo(r.x()+r.width()-diameter, r.y(), diameter, diameter, 0, 90);
path.arcTo(r.x(), r.y(), diameter, diameter, 90, 90);
path.arcTo(r.x(), r.y()+r.height()-diameter, diameter, diameter, 180, 90);
path.arcTo(r.x()+r.width()-diameter, r.y()+r.height()-diameter, diameter, diameter, 270, 90);
return path;
}
#endif
ToolButton::ToolButton(QWidget *parent)
: QToolButton(parent)
@@ -71,7 +55,7 @@ void ToolButton::paintEvent(QPaintEvent *e)
QPainter p(this);
QColor col(palette().color(QPalette::WindowText));
QRect r(rect());
QPainterPath path=buildPath(QRectF(r.x()+1.5, r.y()+0.5, r.width()-2, r.height()-1), 2.5);
QPainterPath path=Utils::buildPath(QRectF(r.x()+1.5, r.y()+0.5, r.width()-2, r.height()-1), 2.5);
p.setRenderHint(QPainter::Antialiasing, true);
p.setPen(col);
p.drawPath(path);