diff options
author | Kim Motoyoshi Kalland <kim.kalland@nokia.com> | 2012-01-13 12:07:11 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-07 15:52:01 +0100 |
commit | ba1cf5dae397031730fb77321db1807937e81617 (patch) | |
tree | 491f6eeeeba37dcb5764c0348ae4704c1e41c1e2 /src/gui/image/qpixmap_raster.cpp | |
parent | fe2344bd44e183b9893934d175c61a725af29b90 (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.cpp | 42 |
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 |