Lower contrast of out-of-focus applications in QML compositor.
authorSamuel Rødal <samuel.rodal@nokia.com>
Wed, 16 Mar 2011 07:36:00 +0000 (08:36 +0100)
committerSamuel Rødal <samuel.rodal@nokia.com>
Wed, 16 Mar 2011 07:36:00 +0000 (08:36 +0100)
examples/qml-compositor/qml/QmlCompositor/ShaderEffect.qml
examples/qml-compositor/qml/QmlCompositor/Window.qml

index e033095..08a2178 100644 (file)
@@ -51,7 +51,9 @@ ShaderEffectItem {
     varying highp vec2 qt_TexCoord0;
     void main() {
         vec4 sourceColor = texture2D(source, qt_TexCoord0);
-        gl_FragColor = qt_Opacity * vec4(color.rgb * dot(sourceColor.rgb, vec3(11, 16, 5) * (1. /  32.)), sourceColor.a);
+        vec3 delta = sourceColor.rgb - vec3(0.5);
+        vec3 lowerContrast = vec3(0.5) + 0.4 * delta;
+        gl_FragColor = qt_Opacity * vec4(color.rgb * dot(lowerContrast, vec3(11, 16, 5) * (1. /  32.)), sourceColor.a);
     }
     "
 }
index 28772f2..3068836 100644 (file)
@@ -82,7 +82,7 @@ Rectangle {
     ShaderEffect {
         source: child
         anchors.fill: child
-        opacity: { if (child && child.focus) 0.0; else 0.8; }
+        opacity: { if (child && child.focus) 0.0; else 0.9; }
         z: 1
 
         Behavior on opacity {