summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@nokia.com>2010-09-20 12:54:30 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2010-09-29 03:21:58 (GMT)
commit83e6bc232e687bab93c9eddaf0b4479462c8414c (patch)
tree74811014aed4347a29900bd85c8cf20e700cd4a7 /tests
parent131327ffc04d9888ce2b820833867d5a18a6f109 (diff)
downloadQt-83e6bc232e687bab93c9eddaf0b4479462c8414c.zip
Qt-83e6bc232e687bab93c9eddaf0b4479462c8414c.tar.gz
Qt-83e6bc232e687bab93c9eddaf0b4479462c8414c.tar.bz2
Fixed scaled point drawing with square cap in raster paint engine.
With a large pen width and a small scale, due to the hacky way we draw points (stroking a line from (x, y) to (x + tiny_amount, y)), we some times end up snapping these two points to the same in rasterizeLine(). If we instead apply the SquareCap before we do clipping / snapping we don't get this problem. Task-number: QTBUG-13429 Reviewed-by: Trond (cherry picked from commit 7c673a4cf64ba043bb27f90287517bdcdd7a21db)
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qpainter/tst_qpainter.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/qpainter/tst_qpainter.cpp b/tests/auto/qpainter/tst_qpainter.cpp
index f358681..a94c300 100644
--- a/tests/auto/qpainter/tst_qpainter.cpp
+++ b/tests/auto/qpainter/tst_qpainter.cpp
@@ -252,6 +252,8 @@ private slots:
void QTBUG5939_attachPainterPrivate();
+ void drawPointScaled();
+
private:
void fillData();
void setPenColor(QPainter& p);
@@ -4522,6 +4524,26 @@ void tst_QPainter::QTBUG5939_attachPainterPrivate()
QCOMPARE(widget->deviceTransform, proxy->deviceTransform);
}
+void tst_QPainter::drawPointScaled()
+{
+ QImage image(32, 32, QImage::Format_RGB32);
+ image.fill(0xffffffff);
+
+ QPainter p(&image);
+
+ p.scale(0.1, 0.1);
+
+ QPen pen;
+ pen.setWidth(1000);
+ pen.setColor(Qt::red);
+
+ p.setPen(pen);
+ p.drawPoint(0, 0);
+ p.end();
+
+ QCOMPARE(image.pixel(16, 16), 0xffff0000);
+}
+
QTEST_MAIN(tst_QPainter)
#include "tst_qpainter.moc"