fix(lockscreen): use ShaderEffectSource hideSource:true to ensure wallpaper texture buffer is captured for MultiEffect blur
This commit is contained in:
parent
bd96ec0361
commit
4f1ad9deb6
@ -22,26 +22,34 @@ PanelWindow {
|
|||||||
visible: LockscreenService.isLocked
|
visible: LockscreenService.isLocked
|
||||||
color: "black"
|
color: "black"
|
||||||
|
|
||||||
// Raw System Wallpaper (Hidden source item for MultiEffect blur)
|
// Raw System Wallpaper Image
|
||||||
Image {
|
Image {
|
||||||
id: bgImage
|
id: bgImage
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
source: WallpaperService.currentWallpaper
|
source: WallpaperService.currentWallpaper
|
||||||
fillMode: Image.PreserveAspectCrop
|
fillMode: Image.PreserveAspectCrop
|
||||||
visible: false
|
|
||||||
|
|
||||||
Behavior on source {
|
Behavior on source {
|
||||||
PropertyAnimation { duration: 300 }
|
PropertyAnimation { duration: 300 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ShaderEffectSource capturing bgImage GPU texture with hideSource: true
|
||||||
|
ShaderEffectSource {
|
||||||
|
id: wallpaperSource
|
||||||
|
anchors.fill: parent
|
||||||
|
sourceItem: bgImage
|
||||||
|
hideSource: true
|
||||||
|
live: true
|
||||||
|
}
|
||||||
|
|
||||||
// Blurred Background of the current system wallpaper
|
// Blurred Background of the current system wallpaper
|
||||||
MultiEffect {
|
MultiEffect {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
source: bgImage
|
source: wallpaperSource
|
||||||
blurEnabled: true
|
blurEnabled: true
|
||||||
blur: 1.0
|
blur: 1.0
|
||||||
blurMax: 64
|
blurMax: 48
|
||||||
opacity: 0.85
|
opacity: 0.85
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user