2023-05-13 15:15:52 +00:00
|
|
|
// SPDX-FileCopyrightText: 2021-2023 Devin Lin <devin@kde.org>
|
|
|
|
|
// SPDX-License-Identifier: LGPL-2.0-or-later
|
2021-12-22 23:29:00 +00:00
|
|
|
|
2023-05-13 15:15:52 +00:00
|
|
|
import QtQuick
|
|
|
|
|
import QtQuick.Effects
|
2023-03-03 05:48:24 +00:00
|
|
|
import Qt5Compat.GraphicalEffects
|
2021-12-22 23:29:00 +00:00
|
|
|
|
2023-07-25 01:13:52 +00:00
|
|
|
import org.kde.kirigami 2.20 as Kirigami
|
2021-12-22 23:29:00 +00:00
|
|
|
|
|
|
|
|
Item {
|
|
|
|
|
id: root
|
2022-10-12 22:10:08 +00:00
|
|
|
|
2021-12-22 23:29:00 +00:00
|
|
|
property string imageSource
|
2022-10-12 22:10:08 +00:00
|
|
|
property bool darken: false
|
2021-12-22 23:29:00 +00:00
|
|
|
|
|
|
|
|
// clip corners so that the image has rounded corners
|
|
|
|
|
layer.enabled: true
|
|
|
|
|
layer.effect: OpacityMask {
|
|
|
|
|
maskSource: Item {
|
|
|
|
|
width: img.width
|
|
|
|
|
height: img.height
|
2023-05-13 15:15:52 +00:00
|
|
|
|
2021-12-22 23:29:00 +00:00
|
|
|
Rectangle {
|
|
|
|
|
anchors.centerIn: parent
|
|
|
|
|
width: img.width
|
|
|
|
|
height: img.height
|
2023-07-25 01:13:52 +00:00
|
|
|
radius: Kirigami.Units.smallSpacing
|
2021-12-22 23:29:00 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-05-13 15:15:52 +00:00
|
|
|
|
2021-12-22 23:29:00 +00:00
|
|
|
Image {
|
|
|
|
|
id: img
|
|
|
|
|
source: root.imageSource
|
|
|
|
|
asynchronous: true
|
|
|
|
|
|
|
|
|
|
anchors.fill: parent
|
|
|
|
|
fillMode: Image.PreserveAspectCrop
|
|
|
|
|
|
|
|
|
|
// ensure text is readable
|
|
|
|
|
Rectangle {
|
|
|
|
|
anchors.fill: parent
|
2022-10-12 22:10:08 +00:00
|
|
|
color: Qt.rgba(0, 0, 0, root.darken ? 0.8 : 0.6)
|
2021-12-22 23:29:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// apply lighten, saturate and blur effect
|
|
|
|
|
layer.enabled: true
|
2023-05-13 15:15:52 +00:00
|
|
|
layer.effect: MultiEffect {
|
|
|
|
|
brightness: 0.2
|
2021-12-22 23:29:00 +00:00
|
|
|
saturation: 1.5
|
|
|
|
|
|
2023-05-13 15:15:52 +00:00
|
|
|
blurEnabled: true
|
|
|
|
|
blurMax: 32
|
|
|
|
|
blur: 1.0
|
|
|
|
|
blurMultiplier: 2
|
|
|
|
|
autoPaddingEnabled: false
|
2021-12-22 23:29:00 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|