effects/contrast: Round device coordinates when creating geometry

Since normal geometry is now rounded, we need to make sure to round
anything that should match that geometry, otherwise we risk things
peeking out of the normal geometry.

BUG: 464526
remotes/origin/work/zzag/xdg-pip-v1
Arjen Hiemstra 3 years ago committed by Vlad Zahorodnii
parent 996a0c05fa
commit edbbe996d3
  1. 8
      src/effects/backgroundcontrast/contrast.cpp

@ -313,10 +313,10 @@ void ContrastEffect::uploadRegion(QVector2D *&map, const QRegion &region, qreal
Q_ASSERT(map);
for (const QRect &r : region) {
const auto deviceRect = scaledRect(r, scale);
const QVector2D topLeft(deviceRect.x(), deviceRect.y());
const QVector2D topRight(deviceRect.x() + deviceRect.width(), deviceRect.y());
const QVector2D bottomLeft(deviceRect.x(), deviceRect.y() + deviceRect.height());
const QVector2D bottomRight(deviceRect.x() + deviceRect.width(), deviceRect.y() + deviceRect.height());
const QVector2D topLeft = roundVector(QVector2D(deviceRect.x(), deviceRect.y()));
const QVector2D topRight = roundVector(QVector2D(deviceRect.x() + deviceRect.width(), deviceRect.y()));
const QVector2D bottomLeft = roundVector(QVector2D(deviceRect.x(), deviceRect.y() + deviceRect.height()));
const QVector2D bottomRight = roundVector(QVector2D(deviceRect.x() + deviceRect.width(), deviceRect.y() + deviceRect.height()));
// First triangle
*(map++) = topRight;

Loading…
Cancel
Save