// grayscales the image to dest (could be same). If rect isn't defined
// destination image size is used to determine the dimension of grayscaling
// process.
-Q_GUI_EXPORT void qt_grayscale(const QImage &image, QImage &dest, const QRect& rect = QRect())
+Q_GUI_EXPORT void qt_grayscale(const QImage &image, QImage &dest)
{
- QRect destRect = rect;
- QRect srcRect = rect;
- if (rect.isNull()) {
+ QRect srcRect = image.rect();
+ if (srcRect.isNull()) {
srcRect = dest.rect();
- destRect = dest.rect();
}
+ QRect destRect = srcRect;
if (&image != &dest) {
destRect.moveTo(QPoint(0, 0));
}
// do colorizing
QPainter destPainter(&destImage);
- qt_grayscale(srcImage, destImage, srcImage.rect());
+ qt_grayscale(srcImage, destImage);
destPainter.setCompositionMode(QPainter::CompositionMode_Screen);
destPainter.fillRect(srcImage.rect(), d->color);
destPainter.end();
}
// in qpixmapfilter.cpp
-extern Q_GUI_EXPORT void qt_grayscale(const QImage &image, QImage &dest, const QRect& rect);
+extern Q_GUI_EXPORT void qt_grayscale(const QImage &image, QImage &dest);
/*! \reimp */
QPixmap QCommonStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap,
switch (iconMode) {
case QIcon::Disabled: {
QImage im = pixmap.toImage();
- qt_grayscale(im, im, im.rect());
+ qt_grayscale(im, im);
return QPixmap::fromImage(im);
}
case QIcon::Selected: {