summaryrefslogtreecommitdiffstats
path: root/examples/declarative/shadereffects/qml/DropShadow.qml
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-06-22 21:43:10 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-06-22 21:43:10 (GMT)
commit8f230bcca8835006507c59d4743e76bdcff62f23 (patch)
tree648091120ecbdb17fc11015d7ad1bddb8066137c /examples/declarative/shadereffects/qml/DropShadow.qml
parent66ced6e042300977a70d13a92cd7445a9c11c67a (diff)
parent38db40d9a2db44e47b0aabd9487284cd1106b353 (diff)
downloadQt-8f230bcca8835006507c59d4743e76bdcff62f23.zip
Qt-8f230bcca8835006507c59d4743e76bdcff62f23.tar.gz
Qt-8f230bcca8835006507c59d4743e76bdcff62f23.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: (23 commits) Workaround webkit deadlock on macos x Disable antialiasing for tiled image drawing. Ensure visibility of input widget in QML app when doing layout switch Def update for gui, openvg, and opengl. Revert "Def update." Fix trailing whitespace Remove unnecessary resizes during orientation change Revert "Symbian: Fix QFontInfo::pixelSize()" Improving warning messages in QVolatileImage. Proper naming for raster pixmap and paintengine on Symbian. Def update. Handle QVolatileImage-backed pixmaps optimally in drawPixmap(). Resizable graphicsview's background is drawn incorrectly in splitview Add inputcontext reset to orientation switch in Symbian QS60Style: QGroupBox is drawn as white box in upcoming Symbian release Symbian: Fix QFontInfo::pixelSize() Drop-down menu position is altered when Partial VKB is invoked Fix SVG icons on softkeys in new Symbian devices Fix screen dimensions after orientation change in split screen mode. Qmlshadersplugin examples added. ...
Diffstat (limited to 'examples/declarative/shadereffects/qml/DropShadow.qml')
-rwxr-xr-xexamples/declarative/shadereffects/qml/DropShadow.qml117
1 files changed, 117 insertions, 0 deletions
diff --git a/examples/declarative/shadereffects/qml/DropShadow.qml b/examples/declarative/shadereffects/qml/DropShadow.qml
new file mode 100755
index 0000000..054f193
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/DropShadow.qml
@@ -0,0 +1,117 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+ id: main
+ anchors.fill: parent
+
+ Image {
+ id: background
+ anchors.fill: parent
+ source: "images/bg.jpg"
+ }
+
+ DropShadowEffect {
+ id: layer
+
+ property real distance: 0.0
+
+ width: photo.width
+ height: photo.height
+ sourceItem: photo
+ color: "black"
+ blur: distance / 10.0
+ opacity: 1 - distance / 50.0
+
+ Binding {
+ target: layer
+ property: "x"
+ value: -0.4 * layer.distance
+ when: !dragArea.pressed
+ }
+ Binding {
+ target: layer
+ property: "y"
+ value: 0.9 * layer.distance
+ when: !dragArea.pressed
+ }
+
+ SequentialAnimation on distance {
+ id: animation
+ running: true
+ loops: Animation.Infinite
+
+ NumberAnimation { to: 30; duration: 2000 }
+ PauseAnimation { duration: 500 }
+ NumberAnimation { to: 0; duration: 2000 }
+ PauseAnimation { duration: 500 }
+ }
+ }
+
+ Image {
+ id: photo
+ anchors.fill: parent
+ source: "images/drop_shadow.png"
+ smooth: true
+ }
+
+ MouseArea {
+ id: dragArea
+ anchors.fill: parent
+
+ property int startX
+ property int startY
+
+ onPressed: {
+ startX = mouseX
+ startY = mouseY
+ }
+
+ onPositionChanged: {
+ layer.x += mouseX - startX
+ layer.y += mouseY - startY
+ startX = mouseX
+ startY = mouseY
+ }
+ }
+}