fix reveal mask not latching - move phase check into shader effect
This commit is contained in:
parent
cad64e7fe6
commit
7e9baa9b7e
1 changed files with 5 additions and 6 deletions
|
|
@ -25,23 +25,22 @@ WlSessionLockSurface {
|
||||||
|
|
||||||
// Overlay group: blur + dim + hexes, revealed per-pixel by wave position
|
// Overlay group: blur + dim + hexes, revealed per-pixel by wave position
|
||||||
Item {
|
Item {
|
||||||
|
id: _overlay
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
opacity: _unlockFade
|
opacity: _unlockFade
|
||||||
|
|
||||||
property bool _revealed: false
|
property bool _revealed: false
|
||||||
|
onVisibleChanged: _revealed = false
|
||||||
|
|
||||||
layer.enabled: !_revealed
|
layer.enabled: !_revealed
|
||||||
layer.effect: ShaderEffect {
|
layer.effect: ShaderEffect {
|
||||||
property real uPhase: _hexWave.wavePhase
|
property real uPhase: _hexWave.wavePhase
|
||||||
property real uWidth: root.width
|
property real uWidth: root.width
|
||||||
fragmentShader: Quickshell.shellPath("modules/reveal_mask.frag.qsb")
|
fragmentShader: Quickshell.shellPath("modules/reveal_mask.frag.qsb")
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
onUPhaseChanged: {
|
||||||
target: _hexWave
|
if (!_overlay._revealed && uPhase >= _overlay.width)
|
||||||
function onWavePhaseChanged() {
|
_overlay._revealed = true;
|
||||||
if (!parent._revealed && _hexWave.wavePhase >= root.width)
|
|
||||||
parent._revealed = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue