diff options
author | aavit <qt_aavit@ovi.com> | 2012-09-07 13:29:53 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-09-27 12:08:39 +0200 |
commit | 4fc4e7ed89c3085ae98c57dd80e6cd8cc61f6ee2 (patch) | |
tree | 0426f330789a67db260e5995172f0ba7ec9e8c59 /tests/manual/scenegraph_lancelot/data/shaders/hiddensource/unhidden_2.qml | |
parent | a49154a75005403185e3813d441fb3e1931af2a2 (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.qml | 66 |
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); + } + " + } +} + + + |