From 1b6ee5d6cd918b81c59a5163c9d6371f35f9885c Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Fri, 27 Mar 2015 15:43:06 +0100 Subject: review comments --- src/kitemviews/private/kpixmapmodifier.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/kitemviews/private/kpixmapmodifier.cpp') diff --git a/src/kitemviews/private/kpixmapmodifier.cpp b/src/kitemviews/private/kpixmapmodifier.cpp index 3e0edf02c..4693b313a 100644 --- a/src/kitemviews/private/kpixmapmodifier.cpp +++ b/src/kitemviews/private/kpixmapmodifier.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include // for HAVE_XRENDER @@ -374,22 +375,23 @@ void KPixmapModifier::scale(QPixmap& pixmap, const QSize& scaledSize) void KPixmapModifier::applyFrame(QPixmap& icon, const QSize& scaledSize) { static TileSet tileSet; - qreal dpr = icon.devicePixelRatio(); + qreal dpr = qApp->devicePixelRatio(); // Resize the icon to the maximum size minus the space required for the frame - const QSize size(scaledSize.width() - (TileSet::LeftMargin + TileSet::RightMargin) * dpr, - scaledSize.height() - (TileSet::TopMargin + TileSet::BottomMargin) * dpr); - scale(icon, size); + const QSize size(scaledSize.width() - TileSet::LeftMargin - TileSet::RightMargin, + scaledSize.height() - TileSet::TopMargin - TileSet::BottomMargin); + scale(icon, size * dpr); + icon.setDevicePixelRatio(dpr); QPixmap framedIcon(icon.size().width() + (TileSet::LeftMargin + TileSet::RightMargin) * dpr, - icon.size().height() + (TileSet::TopMargin + TileSet::BottomMargin * dpr) ); + icon.size().height() + (TileSet::TopMargin + TileSet::BottomMargin) * dpr); framedIcon.setDevicePixelRatio(dpr); framedIcon.fill(Qt::transparent); QPainter painter; painter.begin(&framedIcon); painter.setCompositionMode(QPainter::CompositionMode_Source); - tileSet.paint(&painter, framedIcon.rect()); + tileSet.paint(&painter, QRect(QPoint(0,0), framedIcon.size() / dpr)); painter.setCompositionMode(QPainter::CompositionMode_SourceOver); painter.drawPixmap(TileSet::LeftMargin, TileSet::TopMargin, icon); -- cgit v1.3