From e4ffc3f074d2cdf2c974679d13ce8875db2d8236 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Fri, 10 Dec 2021 13:39:41 +0100 Subject: [PATCH] manually aligning textures to avoid rounding issues --- src/nodes/QskTextureNode.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/nodes/QskTextureNode.cpp b/src/nodes/QskTextureNode.cpp index 3b8989ba..8e137cf3 100644 --- a/src/nodes/QskTextureNode.cpp +++ b/src/nodes/QskTextureNode.cpp @@ -255,10 +255,13 @@ class QskTextureNodePrivate final : public QSGGeometryNodePrivate const qreal ratio = window->effectiveDevicePixelRatio(); - const QRectF scaledRect( rect.x(), rect.y(), - rect.width() / ratio, rect.height() / ratio ); + const qreal x = int( rect.x() / ratio ) * ratio; + const qreal y = int( rect.y() / ratio ) * ratio; + const qreal w = rect.width() / ratio; + const qreal h = rect.height() / ratio; - QSGGeometry::updateTexturedRectGeometry( &geometry, scaledRect, r ); + QSGGeometry::updateTexturedRectGeometry( + &geometry, QRectF( x, y, w, h ), r ); } QSGGeometry geometry;