File: colorbutton.cpp

package info (click to toggle)
lxqt-panel 2.1.4-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 15,748 kB
  • sloc: cpp: 27,548; xml: 798; makefile: 19
file content (26 lines) | stat: -rw-r--r-- 709 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "colorbutton.h"
#include <QPainter>
#include <QPainterPath>


void ColorButton::paintEvent(QPaintEvent *event)
{
    Q_UNUSED(event)
    QToolButton::paintEvent(event);
    QPainter painter(this);
    painter.setRenderHint(QPainter::Antialiasing, true);
    qreal minDimension = std::min(size().width(), size().height()) / 2;
    qreal minIconSize  = std::min(iconSize().width(), iconSize().height()) / 2;
    qreal radio = std::min(minDimension, minIconSize) - 3;
    QPainterPath path;
    path.addEllipse(QRectF(rect()).center(), radio, radio);
    painter.fillPath(path, color);
    painter.drawPath(path);
}


void ColorButton::setColor(QColor color)
{
    this->color = color;
    repaint();
}