mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-08-04 20:48:29 -04:00
refactor(blurSync): reimplement blur sync in popouts & modals
This commit is contained in:
@@ -62,6 +62,11 @@ Item {
|
||||
|
||||
property bool animationsEnabled: true
|
||||
|
||||
function _kickBlurCommit() {
|
||||
if (typeof contentWindow.update === "function")
|
||||
contentWindow.update();
|
||||
}
|
||||
|
||||
function open() {
|
||||
closeTimer.stop();
|
||||
isClosing = false;
|
||||
@@ -201,6 +206,12 @@ Item {
|
||||
}
|
||||
})(), dpr)
|
||||
|
||||
onAlignedXChanged: _kickBlurCommit()
|
||||
onAlignedYChanged: _kickBlurCommit()
|
||||
onAlignedWidthChanged: _kickBlurCommit()
|
||||
onAlignedHeightChanged: _kickBlurCommit()
|
||||
onShouldBeVisibleChanged: _kickBlurCommit()
|
||||
|
||||
PanelWindow {
|
||||
id: clickCatcher
|
||||
visible: false
|
||||
@@ -244,11 +255,13 @@ Item {
|
||||
WindowBlur {
|
||||
targetWindow: contentWindow
|
||||
readonly property real s: Math.min(1, modalContainer.scaleValue)
|
||||
readonly property real op: Math.max(0, Math.min(1, (morph.openProgress - 0.06) * 2))
|
||||
readonly property real visibleScale: s * op
|
||||
// Blur tracks the surface's scaled rect, matching the connected backend.
|
||||
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: root.shouldBeVisible ? modalContainer.width * s : 0
|
||||
blurHeight: root.shouldBeVisible ? modalContainer.height * s : 0
|
||||
blurX: modalContainer.x + modalContainer.width * (1 - visibleScale) * 0.5 + Theme.snap(modalContainer.animX, root.dpr)
|
||||
blurY: modalContainer.y + modalContainer.height * (1 - visibleScale) * 0.5 + Theme.snap(modalContainer.animY, root.dpr)
|
||||
blurWidth: root.shouldBeVisible ? modalContainer.width * visibleScale : 0
|
||||
blurHeight: root.shouldBeVisible ? modalContainer.height * visibleScale : 0
|
||||
blurRadius: root.cornerRadius
|
||||
}
|
||||
|
||||
@@ -338,6 +351,7 @@ Item {
|
||||
QtObject {
|
||||
id: morph
|
||||
property real openProgress: root.shouldBeVisible ? 1 : 0
|
||||
onOpenProgressChanged: root._kickBlurCommit()
|
||||
Behavior on openProgress {
|
||||
enabled: root.animationsEnabled
|
||||
DankAnim {
|
||||
|
||||
Reference in New Issue
Block a user