summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@ymail.com>2022-04-26 16:46:25 +0200
committerLoren Burkholder <computersemiexpert@outlook.com>2022-04-28 17:39:08 -0400
commitb30211f43c08dd807bec44b7f3b68ff6121cf3e1 (patch)
tree0a9407e89138a1759921d94492753b72a28b86da /src
parentchore: Add missing ubuntu dependencies (diff)
downloadnheko-b30211f43c08dd807bec44b7f3b68ff6121cf3e1.tar.xz
Fix scaling of animated images in fullscreen image viewer
Diffstat (limited to 'src')
-rw-r--r--src/ui/MxcAnimatedImage.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/ui/MxcAnimatedImage.cpp b/src/ui/MxcAnimatedImage.cpp

index b8e707bb..2f3af137 100644 --- a/src/ui/MxcAnimatedImage.cpp +++ b/src/ui/MxcAnimatedImage.cpp
@@ -153,8 +153,11 @@ MxcAnimatedImage::geometryChanged(const QRectF &newGeometry, const QRectF &oldGe QQuickItem::geometryChanged(newGeometry, oldGeometry); if (newGeometry.size() != oldGeometry.size()) { - if (height() != 0 && width() != 0) - movie.setScaledSize(newGeometry.size().toSize()); + if (height() != 0 && width() != 0) { + QSizeF r = movie.scaledSize(); + r.scale(newGeometry.size(), Qt::KeepAspectRatio); + movie.setScaledSize(r.toSize()); + } } } @@ -184,7 +187,10 @@ MxcAnimatedImage::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeD return nullptr; } - n->setRect(0, 0, width(), height()); + QSizeF r = img.size(); + r.scale(size(), Qt::KeepAspectRatio); + + n->setRect((width() - r.width()) / 2, (height() - r.height()) / 2, r.width(), r.height()); n->setFiltering(QSGTexture::Linear); n->setMipmapFiltering(QSGTexture::None);