summaryrefslogtreecommitdiffstats
path: root/basicsuite/qt5-everywhere/demos/particledemo
diff options
context:
space:
mode:
Diffstat (limited to 'basicsuite/qt5-everywhere/demos/particledemo')
-rw-r--r--basicsuite/qt5-everywhere/demos/particledemo/BootScreenDemo.qml181
-rw-r--r--basicsuite/qt5-everywhere/demos/particledemo/ParticleSysComponent.qml108
-rw-r--r--basicsuite/qt5-everywhere/demos/particledemo/images/particle.pngbin1257 -> 0 bytes
-rw-r--r--basicsuite/qt5-everywhere/demos/particledemo/images/particle_star.pngbin1696 -> 0 bytes
-rw-r--r--basicsuite/qt5-everywhere/demos/particledemo/images/qt-logo-green-mask.pngbin10597 -> 0 bytes
-rw-r--r--basicsuite/qt5-everywhere/demos/particledemo/images/qt-logo-white-mask.pngbin17247 -> 0 bytes
-rw-r--r--basicsuite/qt5-everywhere/demos/particledemo/particle.pngbin861 -> 0 bytes
-rw-r--r--basicsuite/qt5-everywhere/demos/particledemo/particledemo.qml213
8 files changed, 0 insertions, 502 deletions
diff --git a/basicsuite/qt5-everywhere/demos/particledemo/BootScreenDemo.qml b/basicsuite/qt5-everywhere/demos/particledemo/BootScreenDemo.qml
deleted file mode 100644
index ca1e55e..0000000
--- a/basicsuite/qt5-everywhere/demos/particledemo/BootScreenDemo.qml
+++ /dev/null
@@ -1,181 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
-** of its contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Particles 2.0
-
-Item {
- id: root
- property real size: Math.min(root.width, root.height);
- signal finished()
-
- SequentialAnimation {
- id: entryAnimation
- running: true
- PropertyAction { target: sphereEmitter; property: "emitRate"; value: 150 }
- PropertyAction { target: starEmitter; property: "emitRate"; value: 100 }
- PropertyAction { target: starEmitter; property: "enabled"; value: true }
- PropertyAction { target: sphereEmitter; property: "enabled"; value: true }
- PropertyAction { target: sphereSystem; property: "running"; value: true }
- PropertyAction { target: starSystem; property: "running"; value: true }
- PauseAnimation { duration: 5000 }
-
- onRunningChanged: if (!running) explodeAnimation.restart()
- }
-
- SequentialAnimation{
- id: explodeAnimation
- ScriptAction { script: {
- starAccel.x = 5
- starAccel.xVariation = 20;
- starAccel.yVariation = 20;
- sphereAccel.x = -5
- sphereAccel.xVariation = 20
- sphereAccel.yVariation = 20
- sphereParticle.alpha = 0;
- }
- }
- PropertyAction { target: sphereEmitter; property: "emitRate"; value: 200 }
- PropertyAction { target: starEmitter; property: "emitRate"; value: 200 }
- PauseAnimation { duration: 2000 }
- PropertyAction { target: starEmitter; property: "enabled"; value: false }
- PropertyAction { target: sphereEmitter; property: "enabled"; value: false }
- PauseAnimation { duration: 5000 }
-
- onRunningChanged: {
- if (!running) {
- root.finished()
- root.destroy()
- }
- }
- }
-
- Item {
- id: logo;
- width: root.size / 2;
- height: root.size / 2;
- anchors.centerIn: parent
- }
-
- ParticleSystem {
- id: sphereSystem;
- anchors.fill: logo
- running: false
-
- ImageParticle {
- id: sphereParticle
- source: "images/particle.png"
- color: "#80c342"
- alpha: 1
- colorVariation: 0.0
- }
-
- Emitter {
- id: sphereEmitter
- anchors.fill: parent
- emitRate: 100
- lifeSpan: 4000
- size: root.width*.15
- sizeVariation: size *.2
- velocity: PointDirection { xVariation: 2; yVariation: 2; }
-
- acceleration: PointDirection {
- id: sphereAccel
- xVariation: 1;
- yVariation: 1;
- }
-
- shape: MaskShape {
- source: "images/qt-logo-green-mask.png"
- }
- }
- }
-
- ParticleSystem {
- id: starSystem;
- anchors.fill: logo
- running: false
-
- ImageParticle {
- id: starParticle
- source: "images/particle_star.png"
- color: "#ffffff"
- alpha: 0
- colorVariation: 0
- }
-
- Emitter {
- id: starEmitter
- anchors.fill: parent
- emitRate: 50
- lifeSpan: 5000
- size: root.width*.1
- sizeVariation: size *.2
- velocity: PointDirection { xVariation: 1; yVariation: 1; }
-
- acceleration: PointDirection {
- id: starAccel
- xVariation: 0;
- yVariation: 0;
- }
-
- shape: MaskShape {
- source: "images/qt-logo-white-mask.png"
- }
- }
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
-
- if (entryAnimation.running) {
- entryAnimation.complete()
- return;
- }
-
- if (explodeAnimation.running) {
- root.finished()
- root.destroy()
- }
-
- }
- }
-}
diff --git a/basicsuite/qt5-everywhere/demos/particledemo/ParticleSysComponent.qml b/basicsuite/qt5-everywhere/demos/particledemo/ParticleSysComponent.qml
deleted file mode 100644
index 531b7c3..0000000
--- a/basicsuite/qt5-everywhere/demos/particledemo/ParticleSysComponent.qml
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
-** of its contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Particles 2.0
-
-/**
- * ParticleSystem component draw particles with the given color.
- */
-
-ParticleSystem {
- id: root
- anchors.fill: parent
- running: true
-
- property color particleColor: "#ff0000"
- property real angle: particleRoot.angle;
- property int pointCount: particleRoot.pointCount;
- property real radius: particleRoot.distance;
- property real movement: particleRoot.movement;
- property bool emitting: particleRoot.running;
- property int touchX: 0
- property int touchY: 0
- property int startAngle: 0
- property bool pressed: false
- property real targetX: pressed ? touchX : width/2+radius * Math.cos(targetAngle*(Math.PI/180))
- property real targetY: pressed ? touchY : height/2+radius * Math.sin(targetAngle*(Math.PI/180))
- property real targetAngle: angle+startAngle
-
- Emitter {
- id: emitter
- lifeSpan: 1000
- emitRate: 80
- x: targetX
- y: targetY
- enabled: root.emitting
- size: root.height*.05
- endSize: root.height*.1
- sizeVariation: .5
- velocity: AngleDirection{angle:0; angleVariation: 360; magnitude: 10}
- acceleration: AngleDirection{angle:0; angleVariation: 360; magnitude: 10}
- velocityFromMovement: root.movement
- }
-
- ImageParticle {
- id: imageParticle
- source: "images/particle.png"
- color: root.pointCount >0 && root.pressed ? root.particleColor: "#444444"
- alpha: .0
- colorVariation: root.pointCount >0 && root.pressed ? 0.3: .0
-
- Behavior on color{
- enabled: root.pointCount != 0
- ColorAnimation { duration: 500 }
- }
-
- SequentialAnimation on color {
- id: colorAnimation
- loops: Animation.Infinite
- running: root.pointCount === 0
- ColorAnimation {from: root.particleColor; to: "magenta"; duration: 2000}
- ColorAnimation {from: "magenta"; to: "blue"; duration: 1000}
- ColorAnimation {from: "blue"; to: "violet"; duration: 1000}
- ColorAnimation {from: "violet"; to: "red"; duration: 1000}
- ColorAnimation {from: "red"; to: "orange"; duration: 1000}
- ColorAnimation {from: "orange"; to: "yellow"; duration: 1000}
- ColorAnimation {from: "yellow"; to: "green"; duration: 1000}
- ColorAnimation {from: "green"; to: root.particleColor; duration: 2000}
- }
- }
-}
diff --git a/basicsuite/qt5-everywhere/demos/particledemo/images/particle.png b/basicsuite/qt5-everywhere/demos/particledemo/images/particle.png
deleted file mode 100644
index 7520c9b..0000000
--- a/basicsuite/qt5-everywhere/demos/particledemo/images/particle.png
+++ /dev/null
Binary files differ
diff --git a/basicsuite/qt5-everywhere/demos/particledemo/images/particle_star.png b/basicsuite/qt5-everywhere/demos/particledemo/images/particle_star.png
deleted file mode 100644
index 5660d27..0000000
--- a/basicsuite/qt5-everywhere/demos/particledemo/images/particle_star.png
+++ /dev/null
Binary files differ
diff --git a/basicsuite/qt5-everywhere/demos/particledemo/images/qt-logo-green-mask.png b/basicsuite/qt5-everywhere/demos/particledemo/images/qt-logo-green-mask.png
deleted file mode 100644
index 84be10d..0000000
--- a/basicsuite/qt5-everywhere/demos/particledemo/images/qt-logo-green-mask.png
+++ /dev/null
Binary files differ
diff --git a/basicsuite/qt5-everywhere/demos/particledemo/images/qt-logo-white-mask.png b/basicsuite/qt5-everywhere/demos/particledemo/images/qt-logo-white-mask.png
deleted file mode 100644
index 920eeee..0000000
--- a/basicsuite/qt5-everywhere/demos/particledemo/images/qt-logo-white-mask.png
+++ /dev/null
Binary files differ
diff --git a/basicsuite/qt5-everywhere/demos/particledemo/particle.png b/basicsuite/qt5-everywhere/demos/particledemo/particle.png
deleted file mode 100644
index 5c83896..0000000
--- a/basicsuite/qt5-everywhere/demos/particledemo/particle.png
+++ /dev/null
Binary files differ
diff --git a/basicsuite/qt5-everywhere/demos/particledemo/particledemo.qml b/basicsuite/qt5-everywhere/demos/particledemo/particledemo.qml
deleted file mode 100644
index 235a2cd..0000000
--- a/basicsuite/qt5-everywhere/demos/particledemo/particledemo.qml
+++ /dev/null
@@ -1,213 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
-** of its contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Particles 2.0
-
-Rectangle {
- id: particleRoot
- color: "#000000"
- anchors.fill: parent
-
- property real distance: parent.height*.4
- property real angle: 0
- property real movement: 0
- property alias running: angleAnimation.running
- property int pointCount: mouseArea.pointCount + multiPointTouchArea.pointCount
-
- BootScreenDemo {
- width: Math.min(parent.width,parent.height)
- height: width
- anchors.centerIn: parent
- z: 1
- onFinished: {
- distanceAnimation.restart()
- angleAnimation.restart()
- }
- }
-
- RotationAnimation on angle {
- id: angleAnimation
- from: 0
- to: 360
- running: false
- duration: distanceAnimation.delay
- direction: RotationAnimation.Shortest
- loops: Animation.Infinite
- }
-
- SequentialAnimation on distance {
- id: distanceAnimation
- property int easingType:0
- property int delay: 1000
- running: false
-
- NumberAnimation {
- from: 0
- to: parent.height*.4
- duration: distanceAnimation.delay/2
- easing.type: distanceAnimation.easingType
- }
-
- NumberAnimation {
- from: parent.height*.4
- to: 0
- duration: distanceAnimation.delay/2
- easing.type: distanceAnimation.easingType
- }
-
- onRunningChanged: {
- if (!running){
- var type = Math.floor(Math.random()*10)
- switch (type){
- case 0:
- distanceAnimation.easingType=Easing.InOutBack
- break;
- case 1:
- distanceAnimation.easingType=Easing.InOutBounce
- break;
- case 2:
- distanceAnimation.easingType=Easing.InOutCirc
- break;
- case 3:
- distanceAnimation.easingType=Easing.InOutElastic
- break;
- case 4:
- distanceAnimation.easingType=Easing.InOutSine
- break;
- case 5:
- distanceAnimation.easingType=Easing.OutInQuad
- break;
- case 6:
- distanceAnimation.easingType=Easing.OutInCubic
- break;
- case 7:
- distanceAnimation.easingType=Easing.OutExpo
- break;
- case 8:
- distanceAnimation.easingType=Easing.OutCurve
- break;
- default:
- distanceAnimation.easingType=Easing.Linear
- break;
- }
-
- distanceAnimation.delay = 500 + Math.floor(Math.random()*1500)
- angleAnimation.from = 180 + Math.random()*90 - 45
- particleRoot.movement = Math.random()*2
- angleAnimation.restart()
- distanceAnimation.restart()
- }
- }
- }
-
- /**
- * Create five ParticleSysComponents for drawing particles
- * in the place of multitouch points with the given color.
- */
- ParticleSysComponent{ id: p1; particleColor: "#ff0000"; startAngle: 1*360/(5-particleRoot.pointCount); }
- ParticleSysComponent{ id: p2; particleColor: "#00ff00"; startAngle: 2*360/(5-particleRoot.pointCount); }
- ParticleSysComponent{ id: p3; particleColor: "#0000ff"; startAngle: 3*360/(5-particleRoot.pointCount); }
- ParticleSysComponent{ id: p4; particleColor: "#ffff00"; startAngle: 4*360/(5-particleRoot.pointCount); }
- ParticleSysComponent{ id: p5; particleColor: "#ff00ff"; startAngle: 5*360/(5-particleRoot.pointCount); }
-
- /**
- * In this demo we only support five touch point at the same time.
- * One from mouseArea (because of Desktop-support) and four from MultiPointTouchArea.
- */
- MultiPointTouchArea {
- id: multiPointTouchArea
- anchors.fill: parent
- minimumTouchPoints: 1
- maximumTouchPoints: 6
-
- property int pointCount:0
-
- touchPoints: [
- TouchPoint { id: point1 },
- TouchPoint { id: point2 },
- TouchPoint { id: point3 },
- TouchPoint { id: point4 }
- ]
-
- onPressed: updatePointCount()
- onReleased: updatePointCount()
- onTouchUpdated: {
- p2.touchX = point1.x; p2.touchY = point1.y; p2.pressed = point1.pressed;
- p3.touchX = point2.x; p3.touchY = point2.y; p3.pressed = point2.pressed;
- p4.touchX = point3.x; p4.touchY = point3.y; p4.pressed = point3.pressed;
- p5.touchX = point4.x; p5.touchY = point4.y; p5.pressed = point4.pressed;
- }
-
- function updatePointCount(){
- var tmp = 0
- for (var i=0; i<4; i++) {
- if (touchPoints[i].pressed)
- tmp++
- }
- pointCount = tmp
- }
- }
-
- /**
- * For desktop.
- */
- MouseArea {
- id: mouseArea
- anchors.fill: parent
-
- property int pointCount:0
-
- onPressed: {
- pointCount = 1;
- p1.touchX = mouse.x;
- p1.touchY = mouse.y;
- p1.pressed = true;
- }
- onReleased: {
- pointCount = 0;
- p1.pressed = false;
- }
- onPositionChanged: {
- p1.touchX = mouse.x;
- p1.touchY = mouse.y;
- }
- }
-}