@@ -1,81 +0,0 @@
1−/*
2− * Copyright (C) 2016 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−import QtQuick 2.4
18−import Ubuntu.Components 1.3
19−import QtGraphicalEffects 1.0
20−
21−Item {
22− id: root
23−
24− property int blurAmount: 32
25− property Item sourceItem
26− property rect blurRect: Qt.rect(0,0,0,0)
27− property alias cached: fastBlur.cached
28−
29− Rectangle {
30− id: blurMask
31− color: "yellow"
32− x: blurRect.x
33− y: blurRect.y
34− width: blurRect.width
35− height: blurRect.height
36− }
37−
38− ShaderEffect {
39− id: maskedBlurEffect
40− x: blurRect.x
41− y: blurRect.y
42− width: blurRect.width
43− height: blurRect.height
44−
45− property variant source: ShaderEffectSource {
46− id: shaderEffectSource
47− sourceItem: root.sourceItem
48− hideSource: false
49− sourceRect: root.blurRect
50− }
51−
52− property var mask: ShaderEffectSource {
53− sourceItem: blurMask
54− hideSource: true
55− }
56−
57− fragmentShader: "
58− varying highp vec2 qt_TexCoord0;
59− uniform sampler2D source;
60− uniform sampler2D mask;
61− void main(void)
62− {
63− highp vec4 sourceColor = texture2D(source, qt_TexCoord0);
64− highp vec4 maskColor = texture2D(mask, qt_TexCoord0);
65−
66− sourceColor *= maskColor.a;
67−
68− gl_FragColor = sourceColor;
69− }"
70− }
71−
72− FastBlur {
73− id: fastBlur
74− x: blurRect.x
75− y: blurRect.y
76− width: blurRect.width
77− height: blurRect.height
78− source: maskedBlurEffect
79− radius: Math.min(blurAmount, 128)
80− }
81− }