summaryrefslogtreecommitdiffstats
path: root/basicsuite/sensors/Accelbubble.qml
diff options
context:
space:
mode:
Diffstat (limited to 'basicsuite/sensors/Accelbubble.qml')
-rw-r--r--basicsuite/sensors/Accelbubble.qml137
1 files changed, 0 insertions, 137 deletions
diff --git a/basicsuite/sensors/Accelbubble.qml b/basicsuite/sensors/Accelbubble.qml
deleted file mode 100644
index cff693b..0000000
--- a/basicsuite/sensors/Accelbubble.qml
+++ /dev/null
@@ -1,137 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: For any questions to Digia, please use the contact form at
-** http://www.qt.io
-**
-** This file is part of the examples of the Qt Enterprise Embedded.
-**
-** $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 QtSensors 5.0
-
-Rectangle {
- id: area
- color: "lightblue"
- border.width: 1
- border.color: "darkblue"
- property real velocityX: 0
- property real velocityY: 0
-
- // Calculate effective rotation
- function getRotation() {
- var rot = rotation
- var newParent = parent
-
- while (newParent) {
- rot += newParent.rotation
- newParent = newParent.parent
- }
- return rot%360
- }
-
- function updatePosition() {
- var actualRotation = getRotation();
-
- // Transform accelerometer readings according
- // to actual rotation of item
- if (actualRotation == 0) {
- velocityX -= accel.reading.x
- velocityY += accel.reading.y
- } else if (actualRotation == 90 || actualRotation == -270) {
- velocityX += accel.reading.y
- velocityY += accel.reading.x
- } else if (actualRotation == 180 || actualRotation == -180) {
- velocityX += accel.reading.x
- velocityY -= accel.reading.y
- } else if (actualRotation == 270 || actualRotation == -90) {
- velocityX -= accel.reading.y
- velocityY -= accel.reading.x
- } else {
- console.debug("The screen rotation of the device has to be a multiple of 90 degrees.")
- }
-
- velocityX *= 0.95
- velocityY *= 0.95
-
- var newX = bubble.x + velocityX
- var newY = bubble.y + velocityY
- var right = area.width - bubble.width
- var bottom = area.height - bubble.height
-
- if (newX < 0) {
- newX = 0
- velocityX = -velocityX * 0.9
- }
- if (newY < 0) {
- newY = 0
- velocityY = -velocityY * 0.9
- }
-
- if (newX > right) {
- newX = right
- velocityX = -velocityX * 0.9
- }
- if (newY > bottom) {
- newY = bottom
- velocityY = -velocityY * 0.9
- }
-
- bubble.x = newX
- bubble.y = newY
- }
-
- Accelerometer {
- id: accel
- active:true
- }
-
- Component.onCompleted: timer.running = true
-
- Timer {
- id: timer
- interval: 16
- running: false
- repeat: true
- onTriggered: updatePosition()
- }
-
- Image {
- id: bubble
- source: "bluebubble.png"
- smooth: true
- x: parent.width/2 - bubble.width/2
- y: parent.height/2 - bubble.height/2
- }
-}