aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quick/touchinteraction
diff options
context:
space:
mode:
Diffstat (limited to 'examples/quick/touchinteraction')
-rw-r--r--examples/quick/touchinteraction/flickable/content/Panel.qml168
-rw-r--r--examples/quick/touchinteraction/flickable/corkboards.qml4
-rw-r--r--examples/quick/touchinteraction/multipointtouch/bearwhack.qml12
-rw-r--r--examples/quick/touchinteraction/multipointtouch/content/AugmentedTouchPoint.qml2
-rw-r--r--examples/quick/touchinteraction/multipointtouch/content/BearWhackParticleSystem.qml9
5 files changed, 98 insertions, 97 deletions
diff --git a/examples/quick/touchinteraction/flickable/content/Panel.qml b/examples/quick/touchinteraction/flickable/content/Panel.qml
index 21f8fc8afd..0aae0635b2 100644
--- a/examples/quick/touchinteraction/flickable/content/Panel.qml
+++ b/examples/quick/touchinteraction/flickable/content/Panel.qml
@@ -50,112 +50,106 @@
import QtQuick 2.0
-Component {
- Item {
- property variant stickies
+Item {
+ required property string name
+ required property var notes
- id: page
- width: ListView.view.width+40; height: ListView.view.height
+ property real horizontalVelocity: 0
+ id: page
+ width: ListView.view.width+40; height: ListView.view.height
- Image {
- source: "cork.jpg"
- width: page.ListView.view.width
- height: page.ListView.view.height
- fillMode: Image.PreserveAspectCrop
- clip: true
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: page.focus = false;
- }
- Text {
- text: name; x: 15; y: 8; height: 40; width: 370
- font.pixelSize: 18; font.bold: true; color: "white"
- style: Text.Outline; styleColor: "black"
- }
+ Image {
+ source: "cork.jpg"
+ width: page.ListView.view.width
+ height: page.ListView.view.height
+ fillMode: Image.PreserveAspectCrop
+ clip: true
+ }
- Repeater {
- model: notes
- Item {
- id: stickyPage
+ MouseArea {
+ anchors.fill: parent
+ onClicked: page.focus = false;
+ }
- property int randomX: Math.random() * (page.ListView.view.width-0.5*stickyImage.width) +100
- property int randomY: Math.random() * (page.ListView.view.height-0.5*stickyImage.height) +50
+ Text {
+ text: page.name; x: 15; y: 8; height: 40; width: 370
+ font.pixelSize: 18; font.bold: true; color: "white"
+ style: Text.Outline; styleColor: "black"
+ }
- x: randomX; y: randomY
+ Repeater {
+ model: page.notes
+ Item {
+ id: stickyPage
+ required property string noteText
- rotation: -flickable.horizontalVelocity / 100;
- Behavior on rotation {
- SpringAnimation { spring: 2.0; damping: 0.15 }
- }
+ property int randomX: Math.random() * (page.ListView.view.width-0.5*stickyImage.width) +100
+ property int randomY: Math.random() * (page.ListView.view.height-0.5*stickyImage.height) +50
- Item {
- id: sticky
- scale: 0.7
-
- Image {
- id: stickyImage
- x: 8 + -width * 0.6 / 2; y: -20
- source: "note-yellow.png"
- scale: 0.6; transformOrigin: Item.TopLeft
- }
+ x: randomX; y: randomY
- TextEdit {
- id: myText
- x: -104; y: 36; width: 215; height: 200
- font.pixelSize: 24
- readOnly: false
- rotation: -8
- text: noteText
- }
+ rotation: -page.horizontalVelocity / 100
+ Behavior on rotation {
+ SpringAnimation { spring: 2.0; damping: 0.15 }
+ }
- Item {
- x: stickyImage.x; y: -20
- width: stickyImage.width * stickyImage.scale
- height: stickyImage.height * stickyImage.scale
-
- MouseArea {
- id: mouse
- anchors.fill: parent
- drag.target: stickyPage
- drag.axis: Drag.XAndYAxis
- drag.minimumY: 0
- drag.maximumY: page.height - 80
- drag.minimumX: 100
- drag.maximumX: page.width - 140
- onClicked: myText.forceActiveFocus()
- }
- }
- }
+ Item {
+ id: sticky
+ scale: 0.7
Image {
- x: -width / 2; y: -height * 0.5 / 2
- source: "tack.png"
- scale: 0.7; transformOrigin: Item.TopLeft
+ id: stickyImage
+ x: 8 + -width * 0.6 / 2; y: -20
+ source: "note-yellow.png"
+ scale: 0.6; transformOrigin: Item.TopLeft
}
- states: State {
- name: "pressed"
- when: mouse.pressed
- PropertyChanges { target: sticky; rotation: 8; scale: 1 }
- PropertyChanges { target: page; z: 8 }
+ TextEdit {
+ id: myText
+ x: -104; y: 36; width: 215; height: 200
+ font.pixelSize: 24
+ readOnly: false
+ rotation: -8
+ text: stickyPage.noteText
}
- transitions: Transition {
- NumberAnimation { properties: "rotation,scale"; duration: 200 }
+ Item {
+ x: stickyImage.x; y: -20
+ width: stickyImage.width * stickyImage.scale
+ height: stickyImage.height * stickyImage.scale
+
+ MouseArea {
+ id: mouse
+ anchors.fill: parent
+ drag.target: stickyPage
+ drag.axis: Drag.XAndYAxis
+ drag.minimumY: 0
+ drag.maximumY: page.height - 80
+ drag.minimumX: 100
+ drag.maximumX: page.width - 140
+ onClicked: myText.forceActiveFocus()
+ }
}
}
- }
- }
-}
-
-
-
-
-
+ Image {
+ x: -width / 2; y: -height * 0.5 / 2
+ source: "tack.png"
+ scale: 0.7; transformOrigin: Item.TopLeft
+ }
+ states: State {
+ name: "pressed"
+ when: mouse.pressed
+ PropertyChanges { target: sticky; rotation: 8; scale: 1 }
+ PropertyChanges { target: page; z: 8 }
+ }
+ transitions: Transition {
+ NumberAnimation { properties: "rotation,scale"; duration: 200 }
+ }
+ }
+ }
+}
diff --git a/examples/quick/touchinteraction/flickable/corkboards.qml b/examples/quick/touchinteraction/flickable/corkboards.qml
index afb5dd309c..4825053f3f 100644
--- a/examples/quick/touchinteraction/flickable/corkboards.qml
+++ b/examples/quick/touchinteraction/flickable/corkboards.qml
@@ -92,6 +92,8 @@ Rectangle {
orientation: ListView.Horizontal
snapMode: ListView.SnapOneItem
model: list
- delegate: Panel { }
+ delegate: Panel {
+ horizontalVelocity: flickable.horizontalVelocity
+ }
}
}
diff --git a/examples/quick/touchinteraction/multipointtouch/bearwhack.qml b/examples/quick/touchinteraction/multipointtouch/bearwhack.qml
index 49bd0b9db8..90c1a66891 100644
--- a/examples/quick/touchinteraction/multipointtouch/bearwhack.qml
+++ b/examples/quick/touchinteraction/multipointtouch/bearwhack.qml
@@ -87,7 +87,7 @@ Item {
running: !startScreen.visible
}
- property int score: 0
+ property int score: particleSystem.score
Text {
anchors.right: parent.right
@@ -96,11 +96,13 @@ Item {
color: "white"
function padded(num) {
var ret = num.toString();
- while (ret.length < 6)
- ret = "0" + ret;
- return ret;
+
+ if (ret >= 0)
+ return ret.padStart(6, "0");
+ else
+ return "-" + ret.substr(1).padStart(6, "0");
}
- text: "Score: " + padded(score)
+ text: "Score: " + padded(root.score)
}
MultiPointTouchArea {
anchors.fill: parent
diff --git a/examples/quick/touchinteraction/multipointtouch/content/AugmentedTouchPoint.qml b/examples/quick/touchinteraction/multipointtouch/content/AugmentedTouchPoint.qml
index 5750ffcad1..56f287666f 100644
--- a/examples/quick/touchinteraction/multipointtouch/content/AugmentedTouchPoint.qml
+++ b/examples/quick/touchinteraction/multipointtouch/content/AugmentedTouchPoint.qml
@@ -66,7 +66,7 @@ TouchPoint {
interval: 100
running: false
repeat: false
- onTriggered: child.enabled = false
+ onTriggered: container.child.enabled = false
}
property Item child: SpriteGoal {
enabled: false
diff --git a/examples/quick/touchinteraction/multipointtouch/content/BearWhackParticleSystem.qml b/examples/quick/touchinteraction/multipointtouch/content/BearWhackParticleSystem.qml
index 3db9eaf1e5..8da5949a1b 100644
--- a/examples/quick/touchinteraction/multipointtouch/content/BearWhackParticleSystem.qml
+++ b/examples/quick/touchinteraction/multipointtouch/content/BearWhackParticleSystem.qml
@@ -52,6 +52,9 @@ import QtQuick.Particles 2.0
ParticleSystem {
id: particleSystem
+
+ property int score
+
function explode(x,y) {
fireEmitter.burst(100,x,y);
}
@@ -116,13 +119,13 @@ ParticleSystem {
once: true
y: parent.height - 32
groups: "bears"
- onAffectParticles: {
+ onAffectParticles: function(particles) {
for (var i=0;i<particles.length; i++) {
if (particles[i].animationIndex != 0) {
- score++;
+ particleSystem.score++;
bloodEmitter.burst(100, particles[i].x, particles[i].y);
} else {
- score--;
+ particleSystem.score--;
heartEmitter.burst(100, particles[i].x, particles[i].y);
}
particles[i].update = 1.0;