on xenial help sign in
merge prereq
fded335Michael Zanetti
qml/Components/BlurLayer.qml+7−41
@@ -20,54 +20,20 @@ import QtGraphicalEffects 1.0
20Item {
20Item {
21 id: root
21 id: root
22
22
23− property alias source: shaderEffectSource.sourceItem
23+ property alias source: fastBlur.source
24− property real saturation: 1
25 property real brightness: 1
24 property real brightness: 1
26 property real blurRadius: 0
25 property real blurRadius: 0
27
26
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−
66 FastBlur {
27 FastBlur {
67 id: fastBlur
28 id: fastBlur
68 anchors.fill: parent
29 anchors.fill: parent
69− source: desaturateEffect
70 visible: radius > 0
30 visible: radius > 0
71 radius: Math.max(root.blurRadius, 0)
31 radius: Math.max(root.blurRadius, 0)
72 }
32 }
33+
34+ Rectangle {
35+ anchors.fill: parent
36+ color: "black"
37+ opacity: 1 - root.brightness
38+ }
73}
39}
qml/Stage/Stage.qml+7−4
@@ -419,7 +419,8 @@ FocusScope {
419 PropertyChanges { target: hoverMouseArea; enabled: true }
419 PropertyChanges { target: hoverMouseArea; enabled: true }
420 PropertyChanges { target: rightEdgeDragArea; enabled: false }
420 PropertyChanges { target: rightEdgeDragArea; enabled: false }
421 PropertyChanges { target: cancelSpreadMouseArea; enabled: true }
421 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 }
423 },
424 },
424 State {
425 State {
425 name: "stagedRightEdge"; when: (rightEdgeDragArea.dragging || edgeBarrier.progress > 0) && root.mode == "staged"
426 name: "stagedRightEdge"; when: (rightEdgeDragArea.dragging || edgeBarrier.progress > 0) && root.mode == "staged"
@@ -427,7 +428,8 @@ FocusScope {
427 target: blurLayer;
428 target: blurLayer;
428 visible: true;
429 visible: true;
429 blurRadius: 32
430 blurRadius: 32
430− brightness: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 0, .65, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
431+ brightness: .65
432+ opacity: 1
431 }
433 }
432 },
434 },
433 State {
435 State {
@@ -444,8 +446,9 @@ FocusScope {
444 PropertyChanges {
446 PropertyChanges {
445 target: blurLayer;
447 target: blurLayer;
446 visible: true
448 visible: true
447− blurRadius: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 0, 32, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
449+ blurRadius: 32
450+ brightness: .65
448− brightness: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 1, .65, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
451+ opacity: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 0, 1, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
449 }
452 }
450 },
453 },
451 State {
454 State {