From d94eb29d07c8e5720a99956dc53df4f254774664 Mon Sep 17 00:00:00 2001 From: Vlad Zagorodniy Date: Wed, 15 May 2019 12:04:12 +0300 Subject: [PATCH] [effects/thumbnailaside] Specify screen projection matrix Summary: The Lanczos filter is applied to thumbnails, so we need to specify screen projection matrix in order to properly project window coordinates into screen-space. BUG: 407485 Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D21224 --- effects/thumbnailaside/thumbnailaside.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/effects/thumbnailaside/thumbnailaside.cpp b/effects/thumbnailaside/thumbnailaside.cpp index c17269e44a..66ce377703 100644 --- a/effects/thumbnailaside/thumbnailaside.cpp +++ b/effects/thumbnailaside/thumbnailaside.cpp @@ -23,10 +23,12 @@ along with this program. If not, see . // KConfigSkeleton #include "thumbnailasideconfig.h" -#include #include #include +#include +#include + namespace KWin { @@ -62,9 +64,11 @@ void ThumbnailAsideEffect::paintScreen(int mask, QRegion region, ScreenPaintData { painted = QRegion(); effects->paintScreen(mask, region, data); + + const QMatrix4x4 projectionMatrix = data.projectionMatrix(); foreach (const Data & d, windows) { if (painted.intersects(d.rect)) { - WindowPaintData data(d.window); + WindowPaintData data(d.window, projectionMatrix); data.multiplyOpacity(opacity); QRect region; setPositionTransformations(data, region, d.window, d.rect, Qt::KeepAspectRatio);