summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@nokia.com>2012-07-24 15:23:49 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-29 16:53:00 +0200
commitc1e5f600abaee393e66fb04e2038bc97d82851ef (patch)
tree402474ef017437e1dfe0b2e89da0c85627a17c6e /tests/auto/gui
parentf3b45ffa6159bc8b7ecfb0578bbb5cb826de1338 (diff)
Made QImage::fill(uint pixel) for RGB888 accept QRgb values.
Previously QImage::fill() for Format_RGB888 expected a BGR value instead of the RGB order defined by QRgb, making it counter intuitive to use related to the 32-bit formats. Fixed the QPixelLayout data for RGB888 and changed the byte order of quint24 based on what the optimized image conversion routines expect. Change-Id: I72926debbc6f5b5cb10b8aa0b2a2a916a04db946 Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Diffstat (limited to 'tests/auto/gui')
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp21
-rw-r--r--tests/auto/gui/painting/qpainter/tst_qpainter.cpp2
2 files changed, 20 insertions, 3 deletions
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp
index 0fad243cb2..bee6ff9f8c 100644
--- a/tests/auto/gui/image/qimage/tst_qimage.cpp
+++ b/tests/auto/gui/image/qimage/tst_qimage.cpp
@@ -137,6 +137,8 @@ private slots:
void fillColorWithAlpha();
+ void fillRGB888();
+
void rgbSwapped_data();
void rgbSwapped();
@@ -1047,11 +1049,11 @@ void tst_QImage::setPixel_data()
QTest::newRow("ARGB8555_Premultiplied blue") << int(QImage::Format_ARGB8555_Premultiplied)
<< 0xff0000ff << 0x001fffu;
QTest::newRow("RGB888 red") << int(QImage::Format_RGB888)
- << 0xffff0000 << 0x0000ffu;
+ << 0xffff0000 << 0xff0000u;
QTest::newRow("RGB888 green") << int(QImage::Format_RGB888)
<< 0xff00ff00 << 0x00ff00u;
QTest::newRow("RGB888 blue") << int(QImage::Format_RGB888)
- << 0xff0000ff << 0xff0000u;
+ << 0xff0000ff << 0x0000ffu;
}
void tst_QImage::setPixel()
@@ -1872,6 +1874,21 @@ void tst_QImage::fillColorWithAlpha()
QCOMPARE(argb32pm.pixel(0, 0), 0x7f7f0000u);
}
+void tst_QImage::fillRGB888()
+{
+ QImage expected(1, 1, QImage::Format_RGB888);
+ QImage actual(1, 1, QImage::Format_RGB888);
+
+ for (int c = Qt::black; c < Qt::transparent; ++c) {
+ QColor color = QColor(Qt::GlobalColor(c));
+
+ expected.fill(color);
+ actual.fill(color.rgba());
+
+ QCOMPARE(actual.pixel(0, 0), expected.pixel(0, 0));
+ }
+}
+
void tst_QImage::rgbSwapped_data()
{
QTest::addColumn<QImage::Format>("format");
diff --git a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
index bd075eb2fe..3d0ec9f425 100644
--- a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
+++ b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
@@ -3172,7 +3172,7 @@ void tst_QPainter::drawImage_task258776()
QImage src(16, 16, QImage::Format_RGB888);
QImage dest(33, 33, QImage::Format_RGB888);
src.fill(0x00ff00);
- dest.fill(0x0000ff);
+ dest.fill(0xff0000);
QPainter painter(&dest);
painter.drawImage(QRectF(0.499, 0.499, 32, 32), src, QRectF(0, 0, 16, 16));