diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2010-09-20 12:54:30 (GMT) |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2010-09-23 13:39:50 (GMT) |
commit | 7c673a4cf64ba043bb27f90287517bdcdd7a21db (patch) | |
tree | df76e23216d832f9d208e51a20e8d65d43a2aca0 /tests/auto/qpainter | |
parent | 07c5429d5aacab932cd912e66287d66fb952e7c4 (diff) | |
download | Qt-7c673a4cf64ba043bb27f90287517bdcdd7a21db.zip Qt-7c673a4cf64ba043bb27f90287517bdcdd7a21db.tar.gz Qt-7c673a4cf64ba043bb27f90287517bdcdd7a21db.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
Diffstat (limited to 'tests/auto/qpainter')
-rw-r--r-- | tests/auto/qpainter/tst_qpainter.cpp | 22 |
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" |