aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickitemlayer/data/Visible.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quick/qquickitemlayer/data/Visible.qml')
-rw-r--r--tests/auto/quick/qquickitemlayer/data/Visible.qml56
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickitemlayer/data/Visible.qml b/tests/auto/quick/qquickitemlayer/data/Visible.qml
new file mode 100644
index 0000000000..8267f18250
--- /dev/null
+++ b/tests/auto/quick/qquickitemlayer/data/Visible.qml
@@ -0,0 +1,56 @@
+import QtQuick 2.0
+
+Item
+{
+ id: root
+
+ width: 100
+ height: 100
+
+ property bool layerEffect: false;
+ onLayerEffectChanged: root.maybeUse();
+ Component.onCompleted: root.maybeUse();
+
+ property real layerOpacity: 1;
+ property bool layerVisible: true;
+
+ function maybeUse() {
+ if (root.layerEffect)
+ box.layer.effect = shaderEffect
+ }
+
+ Component {
+ id: shaderEffect
+ ShaderEffect {
+ fragmentShader: "
+ uniform lowp sampler2D source;
+ uniform lowp float qt_Opacity;
+ varying highp vec2 qt_TexCoord0;
+ void main() {
+ gl_FragColor = texture2D(source, qt_TexCoord0).bgra * qt_Opacity;
+ }
+ "
+ }
+
+ }
+
+ Rectangle {
+ id: box
+ width: 100
+ height: 100
+
+ color: "#0000ff"
+ visible: parent.layerVisible;
+ opacity: parent.layerOpacity;
+
+ Rectangle {
+ x: 50
+ width: 50
+ height: 100
+ color: "#00ff00"
+ }
+
+ layer.enabled: true
+
+ }
+}