From a140ffe6c88f7d55d240b93aaf64dc9d883164cf Mon Sep 17 00:00:00 2001
From: Filippo Scognamiglio <flscogna@gmail.com>
Date: Thu, 26 Dec 2013 00:28:05 +0100
Subject: [PATCH] Added simple screen reflection for ambient light

---
 qml/cool-old-term/frames/BlackRoughFrame.qml        |  3 ++-
 qml/cool-old-term/frames/utils/WhiteFrameShader.qml |  2 +-
 qml/cool-old-term/main.qml                          | 11 ++++++-----
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/qml/cool-old-term/frames/BlackRoughFrame.qml b/qml/cool-old-term/frames/BlackRoughFrame.qml
index c166783..6b6ca10 100644
--- a/qml/cool-old-term/frames/BlackRoughFrame.qml
+++ b/qml/cool-old-term/frames/BlackRoughFrame.qml
@@ -1,5 +1,6 @@
 import QtQuick 2.1
 import "utils"
+import QtGraphicalEffects 1.0
 
 TerminalFrame{
     id: frame
@@ -13,7 +14,7 @@ TerminalFrame{
     borderBottom: 232
     imageSource: "../images/black-frame.png"
     normalsSource: "../images/black-frame-normals.png"
-    sourceRect: Qt.rect(-80, -90, terminal.width + 160, terminal.height + 180 )
+    sourceRect: Qt.rect(-80, -90, terminal.width + 160, terminal.height + 180)
 
     shaderString: "WhiteFrameShader.qml"
 }
diff --git a/qml/cool-old-term/frames/utils/WhiteFrameShader.qml b/qml/cool-old-term/frames/utils/WhiteFrameShader.qml
index 9c8bddf..251edfe 100644
--- a/qml/cool-old-term/frames/utils/WhiteFrameShader.qml
+++ b/qml/cool-old-term/frames/utils/WhiteFrameShader.qml
@@ -32,7 +32,7 @@ ShaderEffect{
                                 vec4 txt_color = texture2D(source, coords);
                                 vec4 normala = texture2D(normals, coords);
                                 vec3 normal = normalize(normala.rgb) * txt_color.a;
-                                float reflection = dot(normal, vec3(1.0, 1.0, 0.0)) * 0.3 * brightness;
+                                float reflection = dot(normal, vec3(1.0, 1.0, 0.0)) * 0.4 * brightness;
                                 vec3 reflection_color = mix(font_color, background_color, 0.7).rgb * reflection;
                                 vec3 final_color = mix(txt_color.rgb, reflection_color, 1.0 - ambient_light);
                                 gl_FragColor = vec4(final_color, txt_color.a);
diff --git a/qml/cool-old-term/main.qml b/qml/cool-old-term/main.qml
index b9e3131..06b9c54 100644
--- a/qml/cool-old-term/main.qml
+++ b/qml/cool-old-term/main.qml
@@ -77,7 +77,7 @@ ApplicationWindow{
             id: shadercontainer
             anchors.fill: terminal
             blending: true
-            z: 2
+            z: 1.9
             property color font_color: shadersettings.font_color
             property color background_color: shadersettings.background_color
             property variant source: theSource
@@ -239,13 +239,14 @@ ApplicationWindow{
         }
 
         RadialGradient{
-            z: 4
+            id: ambientreflection
+            z: 2.0
             anchors.fill: parent
             cached: true
-            opacity: 0.1
+            opacity: shadersettings.ambient_light * 0.66
             gradient: Gradient{
-                GradientStop{position: 0.0; color: shadersettings.font_color}
-                GradientStop{position: 1.0; color: "#00000000"}
+                GradientStop{position: 0.0; color: "white"}
+                GradientStop{position: 0.7; color: "#00000000"}
             }
         }
     }