Newer
Older
/****************************************************************************
*
* (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.
*
****************************************************************************/
* @brief QGC Attitude Instrument
import QGroundControl 1.0
import QGroundControl.Controls 1.0
import QGroundControl.ScreenTools 1.0
property bool showPitch: true
property real size
property real _rollAngle: vehicle ? vehicle.roll.rawValue : 0
property real _pitchAngle: vehicle ? vehicle.pitch.rawValue : 0
width: size
height: size
anchors.fill: parent
visible: false
//----------------------------------------------------
//-- Artificial Horizon
QGCArtificialHorizon {
rollAngle: _rollAngle
pitchAngle: _pitchAngle
anchors.fill: parent
}
//----------------------------------------------------
//-- Pointer
Image {
id: pointer
source: "/qmlimages/attitudePointer.svg"
mipmap: true
fillMode: Image.PreserveAspectFit
anchors.fill: parent
sourceSize.height: parent.height
}
//----------------------------------------------------
//-- Instrument Dial
Image {
id: instrumentDial
source: "/qmlimages/attitudeDial.svg"
mipmap: true
fillMode: Image.PreserveAspectFit
anchors.fill: parent
sourceSize.height: parent.height
origin.x: root.width / 2
origin.y: root.height / 2
angle: -_rollAngle
}
}
//----------------------------------------------------
//-- Pitch
QGCPitchIndicator {
id: pitchWidget
visible: root.showPitch
anchors.verticalCenter: parent.verticalCenter
pitchAngle: _pitchAngle
rollAngle: _rollAngle
color: Qt.rgba(0,0,0,0)
}
//----------------------------------------------------
//-- Cross Hair
Image {
id: crossHair
anchors.centerIn: parent
source: "/qmlimages/crossHair.svg"
mipmap: true
width: size * 0.75
Rectangle {
id: mask
anchors.fill: instrument
radius: width / 2
color: "black"
visible: false
OpacityMask {
anchors.fill: instrument
source: instrument
maskSource: mask
anchors.fill: parent
radius: width / 2
color: Qt.rgba(0,0,0,0)
border.color: "black"
border.width: 2
QGCLabel {
anchors.bottomMargin: Math.round(ScreenTools.defaultFontPixelHeight * .75)
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
text: _headingString3
color: "white"
visible: showHeading
property string _headingString: vehicle ? vehicle.heading.rawValue.toFixed(0) : "OFF"
property string _headingString2: _headingString.length === 1 ? "0" + _headingString : _headingString
property string _headingString3: _headingString2.length === 2 ? "0" + _headingString2 : _headingString2
}