internal: add opacity mask component
This commit is contained in:
parent
520e3194f4
commit
7427229297
3 changed files with 13 additions and 11 deletions
9
components/effects/OpacityMask.qml
Normal file
9
components/effects/OpacityMask.qml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
import Quickshell
|
||||
import QtQuick
|
||||
|
||||
ShaderEffect {
|
||||
required property Item source
|
||||
required property Item maskSource
|
||||
|
||||
fragmentShader: Qt.resolvedUrl(`${Quickshell.shellDir}/assets/shaders/opacitymask.frag.qsb`)
|
||||
}
|
||||
|
|
@ -18,11 +18,8 @@ Item {
|
|||
readonly property string activeSpecial: (Config.bar.workspaces.perMonitorWorkspaces ? monitor : Hypr.focusedMonitor)?.lastIpcObject.specialWorkspace.name ?? ""
|
||||
|
||||
layer.enabled: true
|
||||
layer.effect: ShaderEffect {
|
||||
required property Item source
|
||||
readonly property Item maskSource: mask
|
||||
|
||||
fragmentShader: Qt.resolvedUrl(`${Quickshell.shellDir}/assets/shaders/opacitymask.frag.qsb`)
|
||||
layer.effect: OpacityMask {
|
||||
maskSource: mask
|
||||
}
|
||||
|
||||
Item {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import qs.components
|
|||
import qs.components.effects
|
||||
import qs.services
|
||||
import qs.config
|
||||
import Quickshell
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
|
||||
|
|
@ -27,11 +26,8 @@ Item {
|
|||
sourceSize.height: height
|
||||
|
||||
layer.enabled: true
|
||||
layer.effect: ShaderEffect {
|
||||
required property Item source
|
||||
readonly property Item maskSource: mask
|
||||
|
||||
fragmentShader: Qt.resolvedUrl(`${Quickshell.shellDir}/assets/shaders/opacitymask.frag.qsb`)
|
||||
layer.effect: OpacityMask {
|
||||
maskSource: mask
|
||||
}
|
||||
|
||||
opacity: status === Image.Ready ? 1 : 0
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue