aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/scenegraph_lancelot/data/shaders/hiddensource/unhidden_2.qml
diff options
context:
space:
mode:
authoraavit <qt_aavit@ovi.com>2012-09-07 13:29:53 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-09-27 12:08:39 +0200
commit4fc4e7ed89c3085ae98c57dd80e6cd8cc61f6ee2 (patch)
tree0426f330789a67db260e5995172f0ba7ec9e8c59 /tests/manual/scenegraph_lancelot/data/shaders/hiddensource/unhidden_2.qml
parenta49154a75005403185e3813d441fb3e1931af2a2 (diff)
Added lancelot-based scenegraph rendering regression test
Change-Id: I6718d00ba96dc9c96dac82de4ded9228f6bfb990 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Diffstat (limited to 'tests/manual/scenegraph_lancelot/data/shaders/hiddensource/unhidden_2.qml')
-rw-r--r--tests/manual/scenegraph_lancelot/data/shaders/hiddensource/unhidden_2.qml66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/manual/scenegraph_lancelot/data/shaders/hiddensource/unhidden_2.qml b/tests/manual/scenegraph_lancelot/data/shaders/hiddensource/unhidden_2.qml
new file mode 100644
index 0000000000..0b8038e9ee
--- /dev/null
+++ b/tests/manual/scenegraph_lancelot/data/shaders/hiddensource/unhidden_2.qml
@@ -0,0 +1,66 @@
+import QtQuick 2.0
+
+Item {
+ width: 320
+ height: 480
+
+ Rectangle {
+ id: draggee
+ width: 200
+ height: 80
+ x: 100
+ y: 360
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "steelBlue" }
+ GradientStop { position: 0.49; color: "white" }
+ GradientStop { position: 0.5; color: "gray" }
+ GradientStop { position: 1.0; color: "darkGray" }
+ }
+ radius: 20
+ border.width: 2
+ border.color: "black"
+ Text {
+ anchors.centerIn: parent
+ font.pixelSize: 40
+ text: "Position 2"
+ }
+ }
+
+ ShaderEffectSource {
+ id: source
+ sourceItem: draggee
+ hideSource: false
+ property real margins: 6
+ sourceRect: Qt.rect(-margins, -margins, sourceItem.width + 2 * margins, sourceItem.height + 2 * margins)
+ smooth: true
+ }
+
+ ShaderEffect{
+ id: effect
+ anchors.fill: source.sourceItem
+ anchors.margins: -source.margins
+ property variant source: source
+ property variant offset: Qt.size(4 / width, 4 / height)
+ property variant delta: Qt.size(0.5 / width, 0.5 / height)
+
+ fragmentShader: "
+ uniform lowp sampler2D source;
+ uniform highp vec2 offset;
+ uniform highp vec2 delta;
+ varying highp vec2 qt_TexCoord0;
+ uniform lowp float qt_Opacity;
+ void main() {
+ highp vec2 delta2 = vec2(delta.x, -delta.y);
+ lowp float shadow = 0.25 * (texture2D(source, qt_TexCoord0 - offset + delta).a
+ + texture2D(source, qt_TexCoord0 - offset - delta).a
+ + texture2D(source, qt_TexCoord0 - offset + delta2).a
+ + texture2D(source, qt_TexCoord0 - offset - delta2).a);
+ lowp vec4 color = texture2D(source, qt_TexCoord0);
+ gl_FragColor = mix(vec4(vec3(0.), 0.5 * shadow), color, color.a);
+ }
+ "
+ }
+}
+
+
+