62 lines
1.9 KiB
QML
62 lines
1.9 KiB
QML
import QtQuick
|
|
import QtQuick.Effects
|
|
import org.kde.plasma.components as PlasmaComponents
|
|
|
|
Item {
|
|
id: shadowedLabel
|
|
|
|
property alias text: foregroundLabel.text
|
|
property alias font: foregroundLabel.font
|
|
property alias lineHeight: foregroundLabel.lineHeight
|
|
property alias elide: foregroundLabel.elide
|
|
property alias horizontalAlignment: foregroundLabel.horizontalAlignment
|
|
property alias verticalAlignment: foregroundLabel.verticalAlignment
|
|
property alias color: foregroundLabel.color
|
|
property bool shadowEnabled: false
|
|
readonly property real contentWidth: width > 0 ? width : foregroundLabel.implicitWidth
|
|
readonly property real contentHeight: height > 0 ? height : foregroundLabel.implicitHeight
|
|
|
|
implicitWidth: foregroundLabel.implicitWidth
|
|
implicitHeight: foregroundLabel.implicitHeight
|
|
|
|
PlasmaComponents.Label {
|
|
id: shadowSourceLabel
|
|
|
|
visible: false
|
|
width: shadowedLabel.contentWidth
|
|
height: shadowedLabel.contentHeight
|
|
text: foregroundLabel.text
|
|
font: foregroundLabel.font
|
|
lineHeight: foregroundLabel.lineHeight
|
|
elide: foregroundLabel.elide
|
|
horizontalAlignment: foregroundLabel.horizontalAlignment
|
|
verticalAlignment: foregroundLabel.verticalAlignment
|
|
color: "white"
|
|
}
|
|
|
|
MultiEffect {
|
|
x: shadowSourceLabel.x
|
|
y: shadowSourceLabel.y
|
|
width: shadowSourceLabel.width
|
|
height: shadowSourceLabel.height
|
|
autoPaddingEnabled: true
|
|
shadowBlur: 0.5
|
|
shadowColor: "#3f4c66"
|
|
shadowEnabled: shadowedLabel.shadowEnabled
|
|
shadowHorizontalOffset: 0
|
|
shadowOpacity: 0.42
|
|
shadowScale: 1
|
|
shadowVerticalOffset: 2
|
|
source: shadowSourceLabel
|
|
visible: shadowedLabel.shadowEnabled
|
|
}
|
|
|
|
PlasmaComponents.Label {
|
|
id: foregroundLabel
|
|
|
|
width: shadowedLabel.contentWidth
|
|
height: shadowedLabel.contentHeight
|
|
}
|
|
|
|
}
|