Introduce layerering support (ShaderEffectSource) directly in Item
authorGunnar Sletta <gunnar.sletta@nokia.com>
Mon, 19 Dec 2011 23:50:15 +0000 (00:50 +0100)
committerQt by Nokia <qt-info@nokia.com>
Tue, 3 Jan 2012 16:58:59 +0000 (17:58 +0100)
commit42d6acd0a3ea5fa5cf7ab69f1f8f2206559107ea
tree84377465ecf6dbc45634656631c72f24e0e77f51
parenta9b103d02831a03e8f3815af2b7d043c5cf4eae6
Introduce layerering support (ShaderEffectSource) directly in Item

This is enabled by doing "Item.layer.enabled: true". The implementation
is solely based on the existing shader effect (source) and simply
swaps in a sibling next to the item when enabled.

This change also adds the QSGTextureProvider to the public API,
as it is now a natural part of the QQuickItem API since all items
can be textures.

Change-Id: I26705c11e92d5623a5121300acc123782b784077
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
27 files changed:
src/quick/items/qquickimage.cpp
src/quick/items/qquickimage_p.h
src/quick/items/qquickitem.cpp
src/quick/items/qquickitem.h
src/quick/items/qquickitem_p.h
src/quick/items/qquickitemchangelistener_p.h
src/quick/items/qquickitemsmodule.cpp
src/quick/items/qquickshadereffect.cpp
src/quick/items/qquickshadereffect_p.h
src/quick/items/qquickshadereffectnode.cpp
src/quick/items/qquickshadereffectnode_p.h
src/quick/items/qquickshadereffectsource_p.h
src/quick/scenegraph/qsgdefaultimagenode.cpp
src/quick/scenegraph/scenegraph.pri
src/quick/scenegraph/util/qsgtextureprovider.cpp
src/quick/scenegraph/util/qsgtextureprovider.h [moved from src/quick/scenegraph/util/qsgtextureprovider_p.h with 100% similarity]
tests/auto/qtquick2/qquickitemlayer/data/Effect.qml [new file with mode: 0644]
tests/auto/qtquick2/qquickitemlayer/data/Enabled.qml [new file with mode: 0644]
tests/auto/qtquick2/qquickitemlayer/data/Mipmap.qml [new file with mode: 0644]
tests/auto/qtquick2/qquickitemlayer/data/Smooth.qml [new file with mode: 0644]
tests/auto/qtquick2/qquickitemlayer/data/SourceRect.qml [new file with mode: 0644]
tests/auto/qtquick2/qquickitemlayer/data/TextureProvider.qml [new file with mode: 0644]
tests/auto/qtquick2/qquickitemlayer/data/Visible.qml [new file with mode: 0644]
tests/auto/qtquick2/qquickitemlayer/data/ZOrder.qml [new file with mode: 0644]
tests/auto/qtquick2/qquickitemlayer/qquickitemlayer.pro [new file with mode: 0644]
tests/auto/qtquick2/qquickitemlayer/tst_qquickitemlayer.cpp [new file with mode: 0644]
tests/auto/qtquick2/qquickshadereffect/tst_qquickshadereffect.cpp