summaryrefslogtreecommitdiffstats
path: root/src/gui/image/qpixmap_raster.cpp
diff options
context:
space:
mode:
authorKim Motoyoshi Kalland <kim.kalland@nokia.com>2012-01-13 12:07:11 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-07 15:52:01 +0100
commitba1cf5dae397031730fb77321db1807937e81617 (patch)
tree491f6eeeeba37dcb5764c0348ae4704c1e41c1e2 /src/gui/image/qpixmap_raster.cpp
parentfe2344bd44e183b9893934d175c61a725af29b90 (diff)
Removed image format specific template functions in raster engine.
Simplified the raster engine by treating image formats in a more generic way and removed some unused code. Change-Id: Ib3979a1a6e3e6f17c5002248545779ec36fff7c9 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Diffstat (limited to 'src/gui/image/qpixmap_raster.cpp')
-rw-r--r--src/gui/image/qpixmap_raster.cpp42
1 files changed, 3 insertions, 39 deletions
diff --git a/src/gui/image/qpixmap_raster.cpp b/src/gui/image/qpixmap_raster.cpp
index 3fe5216313..8125b1360d 100644
--- a/src/gui/image/qpixmap_raster.cpp
+++ b/src/gui/image/qpixmap_raster.cpp
@@ -202,46 +202,10 @@ void QRasterPlatformPixmap::fill(const QColor &color)
image = QImage(image.width(), image.height(), toFormat);
}
}
-
- switch (image.format()) {
- case QImage::Format_ARGB8565_Premultiplied:
- pixel = qargb8565(color.rgba()).rawValue();
- break;
- case QImage::Format_ARGB8555_Premultiplied:
- pixel = qargb8555(color.rgba()).rawValue();
- break;
- case QImage::Format_ARGB6666_Premultiplied:
- pixel = qargb6666(color.rgba()).rawValue();
- break;
- case QImage::Format_ARGB4444_Premultiplied:
- pixel = qargb4444(color.rgba()).rawValue();
- break;
- default:
- pixel = PREMUL(color.rgba());
- break;
- }
- } else {
- switch (image.format()) {
- case QImage::Format_RGB16:
- pixel = qt_colorConvert<quint16, quint32>(color.rgba(), 0);
- break;
- case QImage::Format_RGB444:
- pixel = qrgb444(color.rgba()).rawValue();
- break;
- case QImage::Format_RGB555:
- pixel = qrgb555(color.rgba()).rawValue();
- break;
- case QImage::Format_RGB666:
- pixel = qrgb666(color.rgba()).rawValue();
- break;
- case QImage::Format_RGB888:
- pixel = qrgb888(color.rgba()).rawValue();
- break;
- default:
- pixel = color.rgba();
- break;
- }
}
+ pixel = PREMUL(color.rgba());
+ const QPixelLayout *layout = &qPixelLayouts[image.format()];
+ layout->convertFromARGB32PM(&pixel, &pixel, 1, layout, 0);
} else {
pixel = 0;
// ### what about 8 bits