aboutsummaryrefslogtreecommitdiffstats
path: root/src/effects/DirectionalBlur.qml
diff options
context:
space:
mode:
authorJerome Pasion <jerome.pasion@digia.com>2012-09-24 16:57:55 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-09-25 11:31:42 +0200
commit1ecb9cbdc40dc177fcb906f983f6b47714f0c521 (patch)
treef7ad8af2d61b4c8511ea23656fa04da20ca84304 /src/effects/DirectionalBlur.qml
parent405a17b16855863e24e9fdd18420ef482f25ae50 (diff)
Doc: Modularized documentation.
-moved API documentation in QML files -moved snippets, images, and qdoc files to src/effects/doc -deleted old .pri and .qdocconf files -fixed relative paths Change-Id: I4e757e707b5f93a215506f8c2cbb7eb1f2321d4c Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
Diffstat (limited to 'src/effects/DirectionalBlur.qml')
-rw-r--r--src/effects/DirectionalBlur.qml151
1 files changed, 151 insertions, 0 deletions
diff --git a/src/effects/DirectionalBlur.qml b/src/effects/DirectionalBlur.qml
index 10cccb3..844b18d 100644
--- a/src/effects/DirectionalBlur.qml
+++ b/src/effects/DirectionalBlur.qml
@@ -41,13 +41,164 @@
import QtQuick 2.0
import "private"
+/*!
+ \qmltype DirectionalBlur
+ \inqmlmodule QtGraphicalEffects 1.0
+ \since QtGraphicalEffects 1.0
+ \inherits QtQuick2::Item
+ \ingroup qtgraphicaleffects-motion-blur
+ \brief Applies blur effect to the specified direction.
+
+ Effect creates perceived impression that the source item appears to be
+ moving in the direction of the blur. Blur is applied to both sides of
+ each pixel, therefore setting the direction to 0 and 180 provides the
+ same result.
+
+ Other available motionblur effects are \l{QtGraphicalEffects1::ZoomBlur}{ZoomBlur} and
+ \l{QtGraphicalEffects1::RadialBlur}{RadialBlur}.
+
+ \table
+ \header
+ \li Source
+ \li Effect applied
+ \row
+ \li \image Original_bug.png
+ \li \image DirectionalBlur_bug.png
+ \endtable
+
+ \section1 Example
+
+ The following example shows how to apply the effect.
+ \snippet DirectionalBlur-example.qml example
+
+*/
Item {
id: rootItem
+
+ /*!
+ This property defines the source item that is going to be blurred.
+ */
property variant source
+
+ /*!
+ This property defines the percieved amount of movement for each pixel.
+ The movement is divided evenly to both sides of each pixel.
+
+ The quality of the blur depends on \l{DirectionalBlur::samples}{samples}
+ property. If length value is large, more samples are needed to keep the
+ visual quality at high level.
+
+ The value ranges from 0.0 to inf.
+ By default the property is set to \c 0.0 (no blur).
+
+ \table
+ \header
+ \li Output examples with different length values
+ \li
+ \li
+ \row
+ \li \image DirectionalBlur_length1.png
+ \li \image DirectionalBlur_length2.png
+ \li \image DirectionalBlur_length3.png
+ \row
+ \li \b { length: 0.0 }
+ \li \b { length: 32.0 }
+ \li \b { length: 48.0 }
+ \row
+ \li \l samples: 24
+ \li \l samples: 24
+ \li \l samples: 24
+ \row
+ \li \l angle: 0
+ \li \l angle: 0
+ \li \l angle: 0
+ \endtable
+
+ */
property real length: 0.0
+
+ /*!
+ This property defines how many samples are taken per pixel when blur
+ calculation is done. Larger value produces better quality, but is slower
+ to render.
+
+ This property is not intended to be animated. Changing this property may
+ cause the underlying OpenGL shaders to be recompiled.
+
+ Allowed values are between 0 and inf (practical maximum depends on GPU).
+ By default the property is set to \c 0 (no samples).
+
+ */
property int samples: 0
+
+ /*!
+ This property defines the direction for the blur. Blur is applied to
+ both sides of each pixel, therefore setting the direction to 0 and 180
+ produces the same result.
+
+ The value ranges from -180.0 to 180.0.
+ By default the property is set to \c 0.0.
+
+ \table
+ \header
+ \li Output examples with different angle values
+ \li
+ \li
+ \row
+ \li \image DirectionalBlur_angle1.png
+ \li \image DirectionalBlur_angle2.png
+ \li \image DirectionalBlur_angle3.png
+ \row
+ \li \b { angle: 0.0 }
+ \li \b { angle: 45.0 }
+ \li \b { angle: 90.0 }
+ \row
+ \li \l samples: 24
+ \li \l samples: 24
+ \li \l samples: 24
+ \row
+ \li \l length: 32
+ \li \l length: 32
+ \li \l length: 32
+ \endtable
+
+ */
property real angle: 0.0
+
+ /*!
+ This property defines the blur behavior near the edges of the item,
+ where the pixel blurring is affected by the pixels outside the source
+ edges.
+
+ If the property is set to \c true, the pixels outside the source are
+ interpreted to be transparent, which is similar to OpenGL
+ clamp-to-border extension. The blur is expanded slightly outside the
+ effect item area.
+
+ If the property is set to \c false, the pixels outside the source are
+ interpreted to contain the same color as the pixels at the edge of the
+ item, which is similar to OpenGL clamp-to-edge behavior. The blur does
+ not expand outside the effect item area.
+
+ By default, the property is set to \c false.
+
+ */
property bool transparentBorder: false
+
+ /*!
+ This property allows the effect output pixels to be cached in order to
+ improve the rendering performance.
+
+ Every time the source or effect properties are changed, the pixels in
+ the cache must be updated. Memory consumption is increased, because an
+ extra buffer of memory is required for storing the effect output.
+
+ It is recommended to disable the cache when the source or the effect
+ properties are animated.
+
+ By default, the property is set to \c false.
+
+ */
property bool cached: false
SourceProxy {