diff options
Diffstat (limited to 'kde-frameworks/kdeclarative/files/kdeclarative-5.95.0-fix-potd-centered.patch')
-rw-r--r-- | kde-frameworks/kdeclarative/files/kdeclarative-5.95.0-fix-potd-centered.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/kde-frameworks/kdeclarative/files/kdeclarative-5.95.0-fix-potd-centered.patch b/kde-frameworks/kdeclarative/files/kdeclarative-5.95.0-fix-potd-centered.patch new file mode 100644 index 000000000000..cac44a4333bf --- /dev/null +++ b/kde-frameworks/kdeclarative/files/kdeclarative-5.95.0-fix-potd-centered.patch @@ -0,0 +1,54 @@ +From 41b3d0b142387c3acbba73f6ac332b3f314f7700 Mon Sep 17 00:00:00 2001 +From: Fushan Wen <qydwhotmail@gmail.com> +Date: Thu, 9 Jun 2022 12:57:55 +0800 +Subject: [PATCH] qmlcontrols: add `Pad` fill mode in `QImageItem` + +This matches the behavior in `QQuickImage`. + +BUG: 389623 +FIXED-IN: 5.96 +--- + src/qmlcontrols/kquickcontrolsaddons/qimageitem.cpp | 7 ++++++- + src/qmlcontrols/kquickcontrolsaddons/qimageitem.h | 1 + + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/qmlcontrols/kquickcontrolsaddons/qimageitem.cpp b/src/qmlcontrols/kquickcontrolsaddons/qimageitem.cpp +index 36929eed..060069a1 100644 +--- a/src/qmlcontrols/kquickcontrolsaddons/qimageitem.cpp ++++ b/src/qmlcontrols/kquickcontrolsaddons/qimageitem.cpp +@@ -103,7 +103,11 @@ void QImageItem::paint(QPainter *painter) + painter->scale(1, height() / (qreal)m_image.height()); + } + +- if (m_fillMode >= Tile) { ++ if (m_fillMode == Pad) { ++ QRect centeredRect = m_paintedRect; ++ centeredRect.moveCenter(m_image.rect().center()); ++ painter->drawImage(m_paintedRect, m_image, centeredRect); ++ } else if (m_fillMode >= Tile) { + painter->drawTiledPixmap(m_paintedRect, QPixmap::fromImage(m_image)); + } else { + painter->drawImage(m_paintedRect, m_image, m_image.rect()); +@@ -174,6 +178,7 @@ void QImageItem::updatePaintedRect() + } + case Stretch: + case Tile: ++ case Pad: + default: + destRect = boundingRect().toRect(); + } +diff --git a/src/qmlcontrols/kquickcontrolsaddons/qimageitem.h b/src/qmlcontrols/kquickcontrolsaddons/qimageitem.h +index f32ae7da..ba38a4a1 100644 +--- a/src/qmlcontrols/kquickcontrolsaddons/qimageitem.h ++++ b/src/qmlcontrols/kquickcontrolsaddons/qimageitem.h +@@ -32,6 +32,7 @@ public: + Tile, // the image is duplicated horizontally and vertically + TileVertically, // the image is stretched horizontally and tiled vertically + TileHorizontally, // the image is stretched vertically and tiled horizontally ++ Pad, /**< the image is not transformed @since 5.96 **/ + }; + Q_ENUM(FillMode) + +-- +GitLab + |