1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-05-10 14:29:36 -04:00

refactor(blur): Update blur layer sync handling w/Popout/Modals

- This results in better visuals so you will no longer get a brief flash of blur rending first upon load on certain displays
This commit is contained in:
purian23
2026-05-09 21:21:16 -04:00
parent e28b0c695e
commit 4968b80268
3 changed files with 15 additions and 12 deletions

View File

@@ -242,10 +242,11 @@ Item {
WindowBlur {
targetWindow: contentWindow
readonly property real s: Math.min(1, modalContainer.scaleValue)
blurX: modalContainer.x + modalContainer.width * (1 - s) * 0.5 + Theme.snap(modalContainer.animX, root.dpr)
blurY: modalContainer.y + modalContainer.height * (1 - s) * 0.5 + Theme.snap(modalContainer.animY, root.dpr)
blurWidth: shouldBeVisible ? modalContainer.width * s : 0
blurHeight: shouldBeVisible ? modalContainer.height * s : 0
readonly property real op: Math.max(0, Math.min(1, (morph.openProgress - 0.06) * 2))
blurX: modalContainer.x + modalContainer.width * (1 - s * op) * 0.5 + Theme.snap(modalContainer.animX, root.dpr)
blurY: modalContainer.y + modalContainer.height * (1 - s * op) * 0.5 + Theme.snap(modalContainer.animY, root.dpr)
blurWidth: root.shouldBeVisible ? modalContainer.width * s * op : 0
blurHeight: root.shouldBeVisible ? modalContainer.height * s * op : 0
blurRadius: root.cornerRadius
}

View File

@@ -369,10 +369,11 @@ Item {
WindowBlur {
targetWindow: launcherWindow
readonly property real s: Math.min(1, modalContainer.publishedScale)
blurX: modalContainer.x + modalContainer.width * (1 - s) * 0.5
blurY: modalContainer.y + modalContainer.height * (1 - s) * 0.5
blurWidth: contentVisible ? modalContainer.width * s : 0
blurHeight: contentVisible ? modalContainer.height * s : 0
readonly property real op: Math.max(0, Math.min(1, (modalContainer.opacity - 0.06) * 2))
blurX: modalContainer.x + modalContainer.width * (1 - s * op) * 0.5
blurY: modalContainer.y + modalContainer.height * (1 - s * op) * 0.5
blurWidth: contentVisible ? modalContainer.width * s * op : 0
blurHeight: contentVisible ? modalContainer.height * s * op : 0
blurRadius: root.cornerRadius
}