summaryrefslogtreecommitdiff
path: root/src/effects/Displace.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/Displace.qml
parent405a17b16855863e24e9fdd18420ef482f25ae50 (diff)
downloadqtgraphicaleffects-1ecb9cbdc40dc177fcb906f983f6b47714f0c521.tar.gz
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/Displace.qml')
-rw-r--r--src/effects/Displace.qml103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/effects/Displace.qml b/src/effects/Displace.qml
index 5b921e6..0a28311 100644
--- a/src/effects/Displace.qml
+++ b/src/effects/Displace.qml
@@ -41,11 +41,114 @@
import QtQuick 2.0
import "private"
+/*!
+ \qmltype Displace
+ \inqmlmodule QtGraphicalEffects 1.0
+ \since QtGraphicalEffects 1.0
+ \inherits QtQuick2::Item
+ \ingroup qtgraphicaleffects-distortion
+ \brief Moves the pixels of the source item according to the given
+ displacement map.
+
+ \table
+ \header
+ \li Source
+ \li DisplacementSource
+ \li Effect applied
+ \row
+ \li \image Original_bug.png
+ \li \image Displace_map.png
+ \li \image Displace_bug.png
+ \endtable
+
+ \section1 Example
+
+ The following example shows how to apply the effect.
+ \snippet Displace-example.qml example
+
+*/
Item {
id: rootItem
+
+ /*!
+ This property defines the source item for the pixels that are going to
+ be displaced according to the data from
+ \l{Displace::displacementSource}{displacementSource}.
+ */
property variant source
+
+ /*!
+ This property defines the item that is going to be used as the
+ displacement map. The displacementSource item gets rendered into the
+ intermediate pixel buffer. The red and green component values from the
+ result determine the displacement of the pixels from the source item.
+
+ The format for the displacement map is similar to the tangent space
+ normal maps, which can be created with most 3D-modeling tools. Many
+ image processing tools include the support for generating normal maps.
+ Alternatively, the displacement map for this effect can also be a QML
+ element which is colored appropriately. Like any QML element, it can be
+ animated. It is recommended that the size of the diplacement map matches
+ the size of the \l{Displace::source}{source}.
+
+ The displace data is interpreted in the RGBA format. For every pixel:
+ the red channel stores the x-axis displacement, and the green channel
+ stores the y-axis displacement. Blue and alpha channels are ignored for
+ this effect.
+
+ Assuming that red channel value 1.0 is fully red (0.0 having no red at
+ all), this effect considers pixel component value 0.5 to cause no
+ displacement at all. Values above 0.5 shift pixels to the left, values
+ below 0.5 do the shift to the right. In a similar way, green channel
+ values above 0.5 displace the pixels upwards, and values below 0.5 shift
+ the pixels downwards. The actual amount of displacement in pixels
+ depends on the \l displacement property.
+
+ */
property variant displacementSource
+
+ /*!
+ This property defines the scale for the displacement. The bigger scale,
+ the bigger the displacement of the pixels. The value set to 0.0 causes
+ no displacement.
+
+ The value ranges from -1.0 (inverted maximum shift, according to
+ displacementSource) to 1.0 (maximum shift, according to
+ displacementSource). By default, the property is set to \c 0.0 (no
+ displacement).
+
+ \table
+ \header
+ \li Output examples with different displacement values
+ \li
+ \li
+ \row
+ \li \image Displace_displacement1.png
+ \li \image Displace_displacement2.png
+ \li \image Displace_displacement3.png
+ \row
+ \li \b { displacement: -0.2 }
+ \li \b { displacement: 0.0 }
+ \li \b { displacement: 0.2 }
+ \endtable
+
+ */
property real displacement: 0.0
+
+ /*!
+ 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 {