Warning, /education/marble/src/apps/marble-maps/PositionMarker.qml is written in an unsupported language. File is not indexed.

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2015 Gábor Péterffy <peterffy95@gmail.com>
0004 //
0005 
0006 
0007 import QtQuick 2.3
0008 import QtQuick.Window 2.2
0009 
0010 Item {
0011     id: root
0012     width: arrowIndicator.width
0013     height: arrowIndicator.height
0014 
0015     property real angle: 0
0016     property bool showAccuracy: true
0017     property real radius: 100
0018     property bool allowRadiusAnimation: true
0019     property bool allowPositionAnimation: true
0020     property real speed: 0
0021 
0022     Behavior on radius {
0023         enabled: allowRadiusAnimation
0024         NumberAnimation { duration: 200 }
0025     }
0026 
0027     Behavior on angle {
0028         RotationAnimation {
0029           duration: 200
0030           direction: RotationAnimation.Shortest
0031         }
0032     }
0033     Behavior on x {
0034         enabled: allowPositionAnimation
0035         SmoothedAnimation { duration: 200 }
0036     }
0037     Behavior on y {
0038         enabled: allowPositionAnimation
0039         SmoothedAnimation { duration: 200 }
0040     }
0041 
0042     Rectangle {
0043         width: 2 * root.radius
0044         height: 2 * root.radius
0045         anchors.centerIn: parent
0046         visible: root.showAccuracy
0047         color: "#40ff0000"
0048         border.color: "#ff0000"
0049         border.width: 2
0050         radius: root.radius
0051     }
0052 
0053     Rectangle {
0054         id: circleIndicator
0055         visible: root.speed < 0.4
0056         width: Screen.pixelDensity * 3.5
0057         height: width
0058         anchors.centerIn: parent
0059         radius: width/2
0060         border {
0061           color: "#f2f2f2"
0062           width: 4
0063         }
0064         color: "#004a96"
0065     }
0066 
0067     Image {
0068         id: arrowIndicator
0069         width: Screen.pixelDensity * 6
0070         height: width
0071         anchors.centerIn: parent
0072         visible: root.speed >= 0.4
0073         source: "qrc:///navigation_blue.svg"
0074         sourceSize.width: width
0075         sourceSize.height: height
0076         smooth: true
0077         rotation: root.angle
0078     }
0079 }