launcher: focused wallpaper shadow

This commit is contained in:
2 * r + 2 * t 2025-05-04 15:11:11 +10:00
parent be269582da
commit 53f14b3ca2
2 changed files with 36 additions and 15 deletions

View file

@ -12,10 +12,10 @@ StyledRect {
scale: PathView.isCurrentItem ? 1 : PathView.onPath ? 0.8 : 0
opacity: PathView.onPath ? 1 : 0
z: PathView.isCurrentItem ? 1 : 0
z: PathView.z
implicitWidth: image.width + Appearance.padding.larger * 2
implicitHeight: image.height + label.height + Appearance.spacing.small / 2 + Appearance.padding.normal * 2
implicitHeight: image.height + label.height + Appearance.spacing.small / 2 + Appearance.padding.large + Appearance.padding.normal
StateLayer {
radius: Appearance.rounding.normal
@ -29,7 +29,7 @@ StyledRect {
id: image
anchors.horizontalCenter: parent.horizontalCenter
y: Appearance.padding.normal
y: Appearance.padding.large
visible: false
path: root.modelData.path
@ -45,11 +45,22 @@ StyledRect {
layer.enabled: true
visible: false
anchors.fill: image
width: image.width
height: image.height
radius: Appearance.rounding.normal
}
RectangularShadow {
opacity: root.PathView.isCurrentItem ? 0.7 : 0
anchors.fill: mask
radius: mask.radius
color: Appearance.colours.m3shadow
blur: 10
spread: 3
Behavior on opacity {
Anim {}
}
}
MultiEffect {
anchors.fill: image
source: image
@ -73,18 +84,16 @@ StyledRect {
}
Behavior on scale {
NumberAnimation {
duration: Appearance.anim.durations.normal
easing.type: Easing.BezierSpline
easing.bezierCurve: Appearance.anim.curves.standard
}
Anim {}
}
Behavior on opacity {
NumberAnimation {
duration: Appearance.anim.durations.normal
easing.type: Easing.BezierSpline
easing.bezierCurve: Appearance.anim.curves.standard
}
Anim {}
}
component Anim: NumberAnimation {
duration: Appearance.anim.durations.normal
easing.type: Easing.BezierSpline
easing.bezierCurve: Appearance.anim.curves.standard
}
}

View file

@ -36,6 +36,18 @@ PathView {
path: Path {
startY: root.height / 2
PathAttribute {
name: "z"
value: 0
}
PathLine {
x: root.width / 2
relativeY: 0
}
PathAttribute {
name: "z"
value: 1
}
PathLine {
x: root.width
relativeY: 0