300{
302 const QPen oldPen = painter.pen();
303 const QBrush oldBrush = painter.brush();
304 const int border = 0;
305 QColor shadowColor =
palette.shadow().color();
306 shadowColor.setAlpha(64);
307
308 QRect pieRect(0, 0, baseSize - 2 * border, baseSize - 2 * border);
309 pieRect.moveCenter(
rect.center());
310
314 const QBrush brush = QBrush(currentColor);
315 painter.setBrush(brush);
316 painter.setPen(QPen(shadowColor, 1));
317
319 painter.drawEllipse(
rect);
320 } else if (currentLabel == 0) {
321 QColor white = Qt::white;
322 QColor grey = QColor(220,220,220);
323 painter.setBrush(QBrush(shadowColor));
324 painter.setRenderHint(QPainter::Antialiasing);
325 painter.drawEllipse(
rect);
326 const int step = 16 * 360 / 4;
327 const int checkerSteps = 4;
328
329 for (int i = 0; i < checkerSteps; i++) {
330 QBrush checkerBrush = QBrush((i % 2) ? grey : white);
331 painter.setPen(Qt::NoPen);
332 painter.setBrush(checkerBrush);
333 painter.drawPie(pieRect, step * i, step);
334 }
335
336 }
337 } else {
339 const int step = 16 * 360 / numColors;
340
341 painter.setPen(QPen(shadowColor, 1));
342 painter.setBrush(QColor(0,0,0,0));
343 painter.setRenderHint(QPainter::Antialiasing);
344 painter.drawEllipse(
rect);
345 for (int i = 0; i < numColors; i++) {
347 QBrush brush = color.alpha() > 0 ? QBrush(color) : QBrush(Qt::black, Qt::Dense4Pattern);
348 painter.setPen(Qt::NoPen);
349 painter.setBrush(brush);
350
351 painter.drawPie(pieRect, step * i, step);
352 }
353 }
354
355 painter.setPen(oldPen);
356 painter.setBrush(oldBrush);
357}
QList< int > selectedColors() const
QColor colorFromLabelIndex(int index) const
KoColor currentColor(ResourceProvider *provider, ColorRole role)
rgba palette[MAX_PALETTE]