53 lines
877 B
QML
53 lines
877 B
QML
import QtQuick 2.0
|
|
|
|
Item
|
|
{
|
|
id: root
|
|
|
|
width: 200
|
|
height: 200
|
|
|
|
Component {
|
|
id: shaderEffect
|
|
ShaderEffect { }
|
|
}
|
|
|
|
property bool layerEffect: false;
|
|
onLayerEffectChanged: root.maybeUse();
|
|
Component.onCompleted: root.maybeUse();
|
|
|
|
function maybeUse() {
|
|
if (root.layerEffect)
|
|
box.layer.effect = shaderEffect
|
|
}
|
|
|
|
|
|
Rectangle {
|
|
color: "red"
|
|
anchors.left: parent.left
|
|
anchors.top: parent.top
|
|
width: 100
|
|
height: 100
|
|
z: 1
|
|
}
|
|
|
|
Rectangle {
|
|
color: "#00ff00"
|
|
anchors.bottom: parent.bottom
|
|
anchors.right: parent.right
|
|
width: 100
|
|
height: 100
|
|
z: 3
|
|
}
|
|
|
|
Rectangle {
|
|
id: box
|
|
color: "blue"
|
|
anchors.fill: parent
|
|
anchors.margins: 10
|
|
layer.enabled: true
|
|
z: 2
|
|
}
|
|
|
|
}
|