┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/private/kpixmapmodifier.cpp
diff options
context:
space:
mode:
authorDavid Edmundson <[email protected]>2015-03-26 16:06:52 +0100
committerDavid Edmundson <[email protected]>2015-03-26 16:06:52 +0100
commit35c0972671c1f90f76d8d86b002b2e1f8bac79dd (patch)
treebf2e413b7a7cf01baadec42ef2c779f6523e2a4b /src/kitemviews/private/kpixmapmodifier.cpp
parent00b00d2371e0f65da0c6bf30775ae43f536ab807 (diff)
Make KPixmapModifier::applyFrame handle high DPI images
Diffstat (limited to 'src/kitemviews/private/kpixmapmodifier.cpp')
-rw-r--r--src/kitemviews/private/kpixmapmodifier.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/kitemviews/private/kpixmapmodifier.cpp b/src/kitemviews/private/kpixmapmodifier.cpp
index ee1f84366..3e0edf02c 100644
--- a/src/kitemviews/private/kpixmapmodifier.cpp
+++ b/src/kitemviews/private/kpixmapmodifier.cpp
@@ -374,14 +374,16 @@ void KPixmapModifier::scale(QPixmap& pixmap, const QSize& scaledSize)
void KPixmapModifier::applyFrame(QPixmap& icon, const QSize& scaledSize)
{
static TileSet tileSet;
+ qreal dpr = icon.devicePixelRatio();
// Resize the icon to the maximum size minus the space required for the frame
- const QSize size(scaledSize.width() - TileSet::LeftMargin - TileSet::RightMargin,
- scaledSize.height() - TileSet::TopMargin - TileSet::BottomMargin);
+ const QSize size(scaledSize.width() - (TileSet::LeftMargin + TileSet::RightMargin) * dpr,
+ scaledSize.height() - (TileSet::TopMargin + TileSet::BottomMargin) * dpr);
scale(icon, size);
- QPixmap framedIcon(icon.size().width() + TileSet::LeftMargin + TileSet::RightMargin,
- icon.size().height() + TileSet::TopMargin + TileSet::BottomMargin);
+ QPixmap framedIcon(icon.size().width() + (TileSet::LeftMargin + TileSet::RightMargin) * dpr,
+ icon.size().height() + (TileSet::TopMargin + TileSet::BottomMargin * dpr) );
+ framedIcon.setDevicePixelRatio(dpr);
framedIcon.fill(Qt::transparent);
QPainter painter;