1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
Item {
id: rootItem
property Item source
property bool selected: false
property string text
signal clicked
Rectangle {
anchors.fill: parent
color: "#000000"
border.color: "#f0f0f0"
opacity: rootItem.selected ? 0.4 : 0
Behavior on opacity {
NumberAnimation {
duration: 400
easing.type: Easing.InOutQuad
}
}
}
ShaderEffectSource {
anchors.fill: parent
anchors.margins: 10
sourceItem: rootItem.source
smooth: true
mipmap: true
}
Text {
anchors.centerIn: parent
visible: rootItem.text != ""
text: rootItem.text
font.pixelSize: 14 * dp
color: "#ffffff"
}
MouseArea {
anchors.fill: parent
onClicked: {
rootItem.clicked();
}
}
}
|