From d6c3fa6e0cdb55b9676f1a3f1365d835a039a6e2 Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Wed, 10 Apr 2019 12:35:39 +0200 Subject: Fix aliased painting with non-uniform scaling The full stroker does not produce good results for aliased lines thinner than 1 pixel. Avoid it by making sure that such thin lines are painted by the cosmetic stroker, even when they have non-uniform transformation. Fixes: QTBUG-73866 Change-Id: I7b5f0fa555903246e0c3fd92cd435cc8c0b15a24 Reviewed-by: Allan Sandfeld Jensen --- tests/auto/other/lancelot/scripts/thinlines.qps | 79 +++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 tests/auto/other/lancelot/scripts/thinlines.qps (limited to 'tests/auto/other') diff --git a/tests/auto/other/lancelot/scripts/thinlines.qps b/tests/auto/other/lancelot/scripts/thinlines.qps new file mode 100644 index 0000000000..dddfff4538 --- /dev/null +++ b/tests/auto/other/lancelot/scripts/thinlines.qps @@ -0,0 +1,79 @@ +# Version: 1 +# CheckVsReference: 5% + +drawRect 0 0 800 800 + +path_addRect p 0 0 75 75 +path_addEllipse p 25 25 75 75 + +translate -500 -500 + +begin_block drawing + save + drawLine 0 0 100 100 + + translate 0 100 + drawPath p + + translate 0 110 + drawRect 0 0 100 100 + + translate 0 110 + drawPolyline [0 0 100 0 50 50] + + drawPoint 40 40 + drawPoint 41 40 + drawPoint 42 40 + drawPoint 43 40 + drawPoint 44 40 + drawPoint 45 40 + drawPoint 46 40 + drawPoint 47 40 + drawPoint 48 40 + drawPoint 49 40 + drawPoint 50 40 + + restore +end_block + +begin_block univsnonuni + save + + save + scale 0.7 0.7 + repeat_block drawing + restore + + translate 100 0 + save + scale 0.7 0.8 + repeat_block drawing + restore + + restore +end_block + +resetMatrix +translate 20.5 20.5 + +begin_block row +save + repeat_block univsnonuni + + translate 240 0 + save + rotate 10 + repeat_block univsnonuni + restore + + translate 220 0 + save + rotate_y 30 + repeat_block univsnonuni + restore +restore +end_block + +translate 0 320 +setRenderHint AntiAliasing +repeat_block row -- cgit v1.2.3