Krita Source Code Documentation
Loading...
Searching...
No Matches
KisColorSourceToggle Class Reference

#include <KisColorSourceToggle.h>

+ Inheritance diagram for KisColorSourceToggle:

Classes

class  Private
 

Public Member Functions

 KisColorSourceToggle (QWidget *parent=nullptr)
 
void setBackgroundColor (const QColor &color)
 
void setForegroundColor (const QColor &color)
 
virtual ~KisColorSourceToggle () override
 

Protected Member Functions

void paintEvent (QPaintEvent *e) override
 
QSize sizeHint () const override
 

Private Attributes

QScopedPointer< Privatem_d
 

Detailed Description

Definition at line 14 of file KisColorSourceToggle.h.

Constructor & Destructor Documentation

◆ KisColorSourceToggle()

KisColorSourceToggle::KisColorSourceToggle ( QWidget * parent = nullptr)
explicit

Definition at line 18 of file KisColorSourceToggle.cpp.

19 : QAbstractButton(parent)
20 , m_d(new Private)
21{
22 setCheckable(true);
23 setFocusPolicy(Qt::NoFocus);
24 setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
25}
QScopedPointer< Private > m_d

◆ ~KisColorSourceToggle()

KisColorSourceToggle::~KisColorSourceToggle ( )
overridevirtual

Definition at line 27 of file KisColorSourceToggle.cpp.

28{}

Member Function Documentation

◆ paintEvent()

void KisColorSourceToggle::paintEvent ( QPaintEvent * e)
overrideprotected

Definition at line 42 of file KisColorSourceToggle.cpp.

43{
44 int length = qMin(width(), height());
45 int patchSize = length * 6 / 10;
46 QRect fgRect(1, 1, patchSize, patchSize);
47 QRect bgRect(length - patchSize - 2, length - patchSize - 2, patchSize, patchSize);
48 QPainter painter(this);
49 painter.translate(0.5, 0.5);
50 painter.setRenderHint(QPainter::Antialiasing);
51 if (isChecked()) {
52 // inactive patch (lowered)
53 painter.setPen(QPen(palette().shadow(), 1));
54 painter.setBrush(m_d->foregroundColor);
55 painter.drawRect(fgRect);
56 // active patch (raised & highlighted)
57 painter.setPen(QPen(palette().highlightedText(), 3));
58 painter.setBrush(m_d->backgroundColor);
59 painter.drawRect(bgRect);
60 painter.setPen(QPen(palette().shadow(), 1));
61 painter.drawRect(bgRect);
62 }
63 else {
64 // inactive patch (lowered)
65 painter.setPen(QPen(palette().shadow(), 1));
66 painter.setBrush(m_d->backgroundColor);
67 painter.drawRect(bgRect);
68 // active patch (raised & highlighted)
69 painter.setPen(QPen(palette().highlightedText(), 3));
70 painter.setBrush(m_d->foregroundColor);
71 painter.drawRect(fgRect);
72 painter.setPen(QPen(palette().shadow(), 1));
73 painter.drawRect(fgRect);
74 }
75}
qreal length(const QPointF &vec)
Definition Ellipse.cc:82
rgba palette[MAX_PALETTE]
Definition palette.c:35

References length(), m_d, and palette.

◆ setBackgroundColor()

void KisColorSourceToggle::setBackgroundColor ( const QColor & color)

Definition at line 36 of file KisColorSourceToggle.cpp.

37{
38 m_d->backgroundColor = color;
39 update();
40}
bool update(QSpinBox *spinBox)

References m_d.

◆ setForegroundColor()

void KisColorSourceToggle::setForegroundColor ( const QColor & color)

Definition at line 30 of file KisColorSourceToggle.cpp.

31{
32 m_d->foregroundColor = color;
33 update();
34}

References m_d.

◆ sizeHint()

QSize KisColorSourceToggle::sizeHint ( ) const
overrideprotected

Definition at line 77 of file KisColorSourceToggle.cpp.

78{
79 return QSize(24, 24);
80}

Member Data Documentation

◆ m_d

QScopedPointer<Private> KisColorSourceToggle::m_d
private

Definition at line 29 of file KisColorSourceToggle.h.


The documentation for this class was generated from the following files: