diff options
Diffstat (limited to 'examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectGaussianBlur.qml')
-rw-r--r-- | examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectGaussianBlur.qml | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectGaussianBlur.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectGaussianBlur.qml index 3ccf1c678..7941eac63 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectGaussianBlur.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectGaussianBlur.qml @@ -44,17 +44,37 @@ Item { name: "Radius" value: 0.5 } + onDataChanged: updateBlurSize() + } + + function updateBlurSize() + { + if ((targetHeight > 0) && (targetWidth > 0)) + { + verticalBlurSize = 4.0 * parameters.get(0).value / targetHeight; + horizontalBlurSize = 4.0 * parameters.get(0).value / targetWidth; + } } property alias targetWidth: verticalShader.targetWidth property alias targetHeight: verticalShader.targetHeight property alias source: verticalShader.source + property alias horizontalBlurSize: horizontalShader.blurSize + property alias verticalBlurSize: verticalShader.blurSize + Effect { id: verticalShader anchors.fill: parent dividerValue: parent.dividerValue - property real blurSize: 4.0 * parent.parameters.get(0).value / targetHeight + property real blurSize: 0.0 + + onTargetHeightChanged: { + updateBlurSize() + } + onTargetWidthChanged: { + updateBlurSize() + } fragmentShaderFilename: "gaussianblur_v.fsh" } @@ -62,7 +82,7 @@ Item { id: horizontalShader anchors.fill: parent dividerValue: parent.dividerValue - property real blurSize: 4.0 * parent.parameters.get(0).value / parent.targetWidth + property real blurSize: 0.0 fragmentShaderFilename: "gaussianblur_h.fsh" source: horizontalShaderSource |