on xenial help sign in
merge prereq
commitfded33587767318681c2c663129f237469da88bc authorMichael Zanetti <michael.zanetti@canonical.com> dateWed 9 Nov 2016, 15:53 (10 years ago) parent607050b242a3d7
2 files changed+14−45
qml/Components/BlurLayer.qml+7−41 qml/Stage/Stage.qml+7−4
qml/Components/BlurLayer.qml+7−41
@@ -20,54 +20,20 @@ import QtGraphicalEffects 1.0
2020Item {
2121 id: root
2222
23− property alias source: shaderEffectSource.sourceItem
24− property real saturation: 1
23+ property alias source: fastBlur.source
2524 property real brightness: 1
2625 property real blurRadius: 0
2726
28− readonly property alias ready: shaderEffectSource.ready
29−
30− ShaderEffect {
31− id: desaturateEffect
32− anchors.fill: root
33−
34− property real saturationValue: Math.min(Math.max(root.saturation, 0), 1)
35− property real brightnessValue: Math.min(Math.max(root.brightness, 0), 1)
36−
37− property variant source: ShaderEffectSource {
38− id: shaderEffectSource
39− hideSource: root.visible
40− live: !root.visible
41− property bool ready: false;
42− onLiveChanged: {
43− if (!live) {
44− ready = false;
45− scheduleUpdate();
46− }
47− }
48− onScheduledUpdateCompleted: ready = true;
49− }
50−
51− fragmentShader: "
52− varying highp vec2 qt_TexCoord0;
53− uniform sampler2D source;
54− uniform lowp float saturationValue;
55− uniform lowp float brightnessValue;
56− void main(void)
57− {
58− highp vec4 sourceColor = texture2D(source, qt_TexCoord0);
59− highp vec4 scaledColor = sourceColor * vec4(0.3, 0.59, 0.11, 1.0);
60− lowp float luminance = scaledColor.r + scaledColor.g + scaledColor.b ;
61− highp vec4 tmp = mix(vec4(luminance, luminance, luminance, sourceColor.a), sourceColor, saturationValue);
62− gl_FragColor = mix(vec4(0, 0, 0, 1), tmp, brightnessValue);
63− }"
64− }
65−
6627 FastBlur {
6728 id: fastBlur
6829 anchors.fill: parent
69− source: desaturateEffect
7030 visible: radius > 0
7131 radius: Math.max(root.blurRadius, 0)
7232 }
33+
34+ Rectangle {
35+ anchors.fill: parent
36+ color: "black"
37+ opacity: 1 - root.brightness
38+ }
7339}
qml/Stage/Stage.qml+7−4
@@ -419,7 +419,8 @@ FocusScope {
419419 PropertyChanges { target: hoverMouseArea; enabled: true }
420420 PropertyChanges { target: rightEdgeDragArea; enabled: false }
421421 PropertyChanges { target: cancelSpreadMouseArea; enabled: true }
422− PropertyChanges { target: blurLayer; visible: true; blurRadius: 32; brightness: .65 }
422+ PropertyChanges { target: blurLayer; visible: true; blurRadius: 32; brightness: .65; opacity: 1 }
423+ PropertyChanges { target: wallpaper; visible: false }
423424 },
424425 State {
425426 name: "stagedRightEdge"; when: (rightEdgeDragArea.dragging || edgeBarrier.progress > 0) && root.mode == "staged"
@@ -427,7 +428,8 @@ FocusScope {
427428 target: blurLayer;
428429 visible: true;
429430 blurRadius: 32
430− brightness: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 0, .65, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
431+ brightness: .65
432+ opacity: 1
431433 }
432434 },
433435 State {
@@ -444,8 +446,9 @@ FocusScope {
444446 PropertyChanges {
445447 target: blurLayer;
446448 visible: true
447− blurRadius: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 0, 32, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
448− brightness: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 1, .65, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
449+ blurRadius: 32
450+ brightness: .65
451+ opacity: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 0, 1, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
449452 }
450453 },
451454 State {