kpToolWidgetLineWidth::kpToolWidgetLineWidth (QWidget *parent, const QString &name) : kpToolWidgetBase (parent, name) { int numLineWidths = sizeof (lineWidths) / sizeof (lineWidths [0]); int w = (width () - 2/*margin*/) * 3 / 4; int h = (height () - 2/*margin*/ - (numLineWidths - 1)/*spacing*/) * 3 / (numLineWidths * 4); for (int i = 0; i < numLineWidths; i++) { QImage image ((w <= 0 ? width () : w), (h <= 0 ? height () : h), QImage::Format_ARGB32_Premultiplied); image.fill(QColor(Qt::transparent).rgba()); kpPixmapFX::fillRect (&image, 0, (image.height () - lineWidths [i]) / 2, image.width (), lineWidths [i], kpColor::Black); addOption (QPixmap::fromImage(image), QString::number (lineWidths [i])); startNewOptionRow (); } finishConstruction (0, 0); }
// public void kpToolWidgetBase::addOption (const QPixmap &pixmap, const QString &toolTip) { if (m_pixmaps.isEmpty ()) startNewOptionRow (); m_pixmaps.last ().append (pixmap); m_pixmapRects.last ().append (QRect ()); m_toolTips.last ().append (toolTip); }
kpToolWidgetSpraycanSize::kpToolWidgetSpraycanSize (QWidget *parent, const char *name) : kpToolWidgetBase (parent, name) { #if DEBUG_KP_TOOL_WIDGET_SPRAYCAN_SIZE kdDebug () << "kpToolWidgetSpraycanSize::kpToolWidgetSpraycanSize() CALLED!" << endl; #endif for (int i = 0; i < int (sizeof (spraycanSizes) / sizeof (spraycanSizes [0])); i++) { int s = spraycanSizes [i]; QString iconName = QString ("tool_spraycan_%1x%1").arg (s).arg(s); #if DEBUG_KP_TOOL_WIDGET_SPRAYCAN_SIZE kdDebug () << "\ticonName=" << iconName << endl; #endif QPixmap pixmap (s, s); pixmap.fill (Qt::white); QPainter painter (&pixmap); painter.drawPixmap (0, 0, UserIcon (iconName)); painter.end (); QImage image = kpPixmapFX::convertToImage (pixmap); QBitmap mask (pixmap.width (), pixmap.height ()); mask.fill (Qt::color0); painter.begin (&mask); painter.setPen (Qt::color1); for (int y = 0; y < image.height (); y++) { for (int x = 0; x < image.width (); x++) { if ((image.pixel (x, y) & RGB_MASK) == 0/*black*/) painter.drawPoint (x, y); // mark as opaque } } painter.end (); pixmap.setMask (mask); addOption (pixmap, i18n ("%1x%2").arg (s).arg (s)/*tooltip*/); if (i == 1) startNewOptionRow (); } finishConstruction (0, 0); }
kpToolWidgetFillStyle::kpToolWidgetFillStyle (QWidget *parent, const QString &name) : kpToolWidgetBase (parent, name) { for (int i = 0; i < (int) FillStyleNum; i++) { QPixmap pixmap; pixmap = fillStylePixmap ((FillStyle) i, (width () - 2/*margin*/) * 3 / 4, (height () - 2/*margin*/ - 2/*spacing*/) * 3 / (3 * 4)); addOption (pixmap, fillStyleName ((FillStyle) i)/*tooltip*/); startNewOptionRow (); } finishConstruction (0, 0); }
WidgetColor::WidgetColor (QWidget *parent, const QString &name) : WidgetBase (parent, name) { const int w = (width () - 2 /*margin*/ - 2 /*spacing*/) / 3; const int h = (height () - 2 /*margin*/ - 3 /*spacing*/) / 3; for (unsigned int color = 0; color < sizeof(ColorTable) / sizeof(int); color++) { QImage previewPixmap (w, h, QImage::Format_ARGB32); previewPixmap.fill(Qt::transparent); QPainter painter(&previewPixmap); painter.fillRect(2,2,previewPixmap.width() - 4,previewPixmap.height() - 4,ColorTable1[color]); addOption (QPixmap::fromImage(previewPixmap), colorName (color) /*tooltip*/); if (color % 3 == 2) startNewOptionRow (); } finishConstruction (0, 0); }
kpToolWidgetLineWidth::kpToolWidgetLineWidth (QWidget *parent, const char *name) : kpToolWidgetBase (parent, name) { setInvertSelectedPixmap (); int numLineWidths = sizeof (lineWidths) / sizeof (lineWidths [0]); int w = (width () - 2/*margin*/) * 3 / 4; int h = (height () - 2/*margin*/ - (numLineWidths - 1)/*spacing*/) * 3 / (numLineWidths * 4); for (int i = 0; i < numLineWidths; i++) { QPixmap pixmap ((w <= 0 ? width () : w), (h <= 0 ? height () : h)); pixmap.fill (Qt::white); QBitmap maskBitmap (pixmap.width (), pixmap.height ()); maskBitmap.fill (Qt::color0/*transparent*/); QPainter painter (&pixmap), maskPainter (&maskBitmap); painter.setPen (Qt::black), maskPainter.setPen (Qt::color1/*opaque*/); painter.setBrush (Qt::black), maskPainter.setBrush (Qt::color1/*opaque*/); QRect rect = QRect (0, (pixmap.height () - lineWidths [i]) / 2, pixmap.width (), lineWidths [i]); painter.drawRect (rect), maskPainter.drawRect (rect); painter.end (), maskPainter.end (); pixmap.setMask (maskBitmap); addOption (pixmap, QString::number (lineWidths [i])); startNewOptionRow (); } finishConstruction (0, 0); }