11 changed files with 233 additions and 79 deletions
@ -0,0 +1,85 @@
@@ -0,0 +1,85 @@
|
||||
/**************************************************************************** |
||||
* |
||||
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org> |
||||
* |
||||
* QGroundControl is licensed according to the terms in the file |
||||
* COPYING.md in the root of the source code directory. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
import QtQuick 2.7 |
||||
import QtGraphicalEffects 1.0 |
||||
|
||||
import QGroundControl.Controls 1.0 |
||||
import QGroundControl.ScreenTools 1.0 |
||||
import QGroundControl.Vehicle 1.0 |
||||
|
||||
Item { |
||||
property real size: _defaultSize |
||||
property var vehicle: null |
||||
|
||||
property real _defaultSize: ScreenTools.defaultFontPixelHeight * (10) |
||||
property real _sizeRatio: ScreenTools.isTinyScreen ? (size / _defaultSize) * 0.5 : size / _defaultSize |
||||
property int _fontSize: ScreenTools.defaultFontPointSize * _sizeRatio |
||||
property real _heading: vehicle ? vehicle.heading.rawValue : 0 |
||||
|
||||
width: size |
||||
height: size |
||||
|
||||
Rectangle { |
||||
id: borderRect |
||||
anchors.fill: parent |
||||
radius: width / 2 |
||||
color: "black" |
||||
} |
||||
|
||||
Item { |
||||
id: instrument |
||||
anchors.fill: parent |
||||
visible: false |
||||
|
||||
Image { |
||||
id: pointer |
||||
source: "/qmlimages/attitudePointer.svg" |
||||
mipmap: true |
||||
fillMode: Image.PreserveAspectFit |
||||
anchors.leftMargin: _pointerMargin |
||||
anchors.rightMargin: _pointerMargin |
||||
anchors.topMargin: _pointerMargin |
||||
anchors.bottomMargin: _pointerMargin |
||||
anchors.fill: parent |
||||
sourceSize.height: parent.height |
||||
|
||||
transform: Rotation { |
||||
origin.x: pointer.width / 2 |
||||
origin.y: pointer.height / 2 |
||||
angle: _heading |
||||
} |
||||
|
||||
readonly property real _pointerMargin: -10 |
||||
} |
||||
|
||||
Image { |
||||
source: "/qmlimages/compassInstrumentDial.svg" |
||||
mipmap: true |
||||
fillMode: Image.PreserveAspectFit |
||||
anchors.fill: parent |
||||
sourceSize.height: parent.height |
||||
} |
||||
} |
||||
|
||||
Rectangle { |
||||
id: mask |
||||
anchors.fill: instrument |
||||
radius: width / 2 |
||||
color: "black" |
||||
visible: false |
||||
} |
||||
|
||||
OpacityMask { |
||||
anchors.fill: instrument |
||||
source: instrument |
||||
maskSource: mask |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue