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
53 painter.setPen(QPen(
palette().shadow(), 1));
54 painter.setBrush(
m_d->foregroundColor);
55 painter.drawRect(fgRect);
56
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
65 painter.setPen(QPen(
palette().shadow(), 1));
66 painter.setBrush(
m_d->backgroundColor);
67 painter.drawRect(bgRect);
68
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)
rgba palette[MAX_PALETTE]