Mercurial > trustbridge
view ui/textoverlaybutton.cpp @ 1287:d3d66d43365f
Merged
author | Emanuel Schuetze <emanuel@intevation.de> |
---|---|
date | Mon, 29 Sep 2014 13:02:41 +0200 |
parents | 947a880ec5d3 |
children |
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=2) * and comes with ABSOLUTELY NO WARRANTY! * See LICENSE.txt for details. */ #include <QPaintEvent> #include <QPainter> #include <QFont> #include <QApplication> #include <QDebug> #include "textoverlaybutton.h" void TextOverlayButton::paintEvent(QPaintEvent *e) { QToolButton::paintEvent(e); if (mOverlay == "0" || mOverlay.isEmpty()) { return; } QPainter painter(this); /* Only usable if opengl is used */ painter.setRenderHint(QPainter::HighQualityAntialiasing, true); /* Else */ painter.setRenderHint(QPainter::Antialiasing, true); QRect myRect = e->rect().translated(26, -29); // circle painter.drawPixmap(75.5, 5, mBackground); // font QFont font; font.setPixelSize(11); font.setWeight(QFont::Bold); painter.setFont(font); painter.setPen(Qt::white); painter.drawText(myRect, Qt::AlignCenter | Qt::AlignVCenter, mOverlay); return; } void TextOverlayButton::setBackgroundIcon (const QString& iconPath) { mBackground = QIcon(iconPath).pixmap(QSize(22,22)); }