diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc
index 19d2e5ecd175bd103846ea1df2d48bd1ee1f6067..22297cd6d2575fea55f910f0b6f14b8674109b63 100644
--- a/qgroundcontrol.qrc
+++ b/qgroundcontrol.qrc
@@ -101,7 +101,9 @@
src/ui/flightdisplay/components/compassNeedle.svg
src/ui/flightdisplay/components/crossHair.svg
src/ui/flightdisplay/components/rollDial.svg
+ src/ui/flightdisplay/components/rollDialWhite.svg
src/ui/flightdisplay/components/rollPointer.svg
+ src/ui/flightdisplay/components/rollPointerWhite.svg
diff --git a/src/ui/flightdisplay/FlightDisplay.qml b/src/ui/flightdisplay/FlightDisplay.qml
index 73413e1affef10b1bf94801a7968ac196f87e819..d62eb31fcd2602bee657b72821a355ecd5695768 100644
--- a/src/ui/flightdisplay/FlightDisplay.qml
+++ b/src/ui/flightdisplay/FlightDisplay.qml
@@ -57,14 +57,16 @@ Rectangle {
//mapTypeMenu.update();
}
+ /*
Rectangle {
id: windowBackground
anchors.fill: parent
anchors.centerIn: parent
- visible: !attitudeWidget.visible //&& !mapBackground.visible
+ visible: !attitudeWidget.visible && !mapBackground.visible
color: Qt.hsla(0.25, 0.5, 0.45)
z: 0
}
+ */
/*
Menu {
@@ -292,20 +294,31 @@ Rectangle {
QGCAttitudeWidget {
id: attitudeWidget
- anchors.centerIn: parent
- rollAngle: roll
- pitchAngle: pitch
- backgroundOpacity: 1.0 // mapBackground.visible ? 0.25 : 1.0
- z: 10
+ anchors.centerIn: parent
+ rollAngle: roll
+ pitchAngle: pitch
+ useWhite: true // !mapBackground.visible
+ backgroundOpacity: 1.0 // mapBackground.visible ? 0.25 : 1.0
+ z: 10
}
QGCPitchWidget {
id: pitchWidget
anchors.verticalCenter: parent.verticalCenter
- opacity: 0.5
pitchAngle: pitch
rollAngle: roll
- z: 20
+ color: Qt.rgba(0,0,0,0) // mapBackground.visible ? Qt.rgba(0,0,0,0.5) : Qt.rgba(0,0,0,0)
+ opacity: 0.75 // mapBackground.visible ? 1 : 0.75
+ z: 25 // mapBackground.visible ? 20 : 25
+ }
+
+ Image {
+ anchors.centerIn: parent
+ source: "/qml/crossHair.svg"
+ mipmap: true
+ width: 260
+ fillMode: Image.PreserveAspectFit
+ z: 20 // mapBackground.visible ? 25 : 20
}
QGCAltitudeWidget {
@@ -327,30 +340,30 @@ Rectangle {
QGCCurrentSpeed {
id: currentSpeed
anchors.left: parent.left
- width: 80
+ width: 75
airspeed: flightDisplay.airSpeed
groundspeed: flightDisplay.groundSpeed
showAirSpeed: true
showGroundSpeed: true
- visible: currentSpeed.showGroundSpeed || currentSpeed.showAirSpeed
+ visible: (currentSpeed.showGroundSpeed || currentSpeed.showAirSpeed)
z: 50
}
QGCCurrentAltitude {
id: currentAltitude
- anchors.right: parent.right
- width: 80
- altitude: flightDisplay.altitudeWGS84
- vertZ: flightDisplay.climbRate
- showAltitude: true
- showClimbRate: true
- visible: (currentAltitude.showAltitude || currentAltitude.showClimbRate)
- z: 60
+ anchors.right: parent.right
+ width: 75
+ altitude: flightDisplay.altitudeWGS84
+ vertZ: flightDisplay.climbRate
+ showAltitude: true
+ showClimbRate: true
+ visible: (currentAltitude.showAltitude || currentAltitude.showClimbRate)
+ z: 60
}
QGCCompass {
id: compassIndicator
- y: root.height * 0.65
+ y: root.height * 0.7
anchors.horizontalCenter: parent.horizontalCenter
heading: isNaN(flightDisplay.heading) ? 0 : flightDisplay.heading
z: 70
diff --git a/src/ui/flightdisplay/components/QGCAltitudeWidget.qml b/src/ui/flightdisplay/components/QGCAltitudeWidget.qml
index ce5a5448ca542f2a7ae3537343d2c62a9c887cb7..d1021cbcd12968a2075655c8b5e797f9d0ba5b04 100644
--- a/src/ui/flightdisplay/components/QGCAltitudeWidget.qml
+++ b/src/ui/flightdisplay/components/QGCAltitudeWidget.qml
@@ -34,8 +34,8 @@ import QtQuick 2.4
Rectangle {
id: root
property real altitude: 50
- property real _reticleSpacing: 29
- property real _reticleHeight: 1
+ property real _reticleSpacing: 16
+ property real _reticleHeight: 2
property real _reticleSlot: _reticleSpacing + _reticleHeight
property var _speedArray: []
property int _currentCenter: 0
@@ -75,26 +75,26 @@ Rectangle {
GradientStop { position: 1.0; color: Qt.rgba(0,0,0,0.65) }
}
Column{
+ id: col
width: parent.width
anchors.verticalCenter: parent.verticalCenter
spacing: _reticleSpacing
Repeater {
model: _speedArray
+ anchors.left: parent.left
Rectangle {
property int _alt: modelData
- width: (_alt % 10 === 0) ? 15 : 30
- anchors.left: parent.left
+ width: (_alt % 10 === 0) ? 10 : 15
height: _reticleHeight
color: Qt.rgba(1,1,1,0.35)
Text {
visible: (_alt % 10 === 0)
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.horizontalCenterOffset: 25
+ x: 20
anchors.verticalCenter: parent.verticalCenter
antialiasing: true
- font.weight: _alt < 0 ? Font.Light : Font.DemiBold
- text: _alt < 0 ? -_alt : _alt
- color: _alt < 0 ? "#ef2526" : "white"
+ font.weight: Font.DemiBold
+ text: _alt
+ color: _alt < 0 ? "#f8983a" : "white"
style: Text.Outline
styleColor: Qt.rgba(0,0,0,0.25)
}
diff --git a/src/ui/flightdisplay/components/QGCAttitudeWidget.qml b/src/ui/flightdisplay/components/QGCAttitudeWidget.qml
index d30d89b62234d3f007816cbaf7fa16e1bf093642..02a563ce411d70e2ffdf9cfb9c2871f577147911 100644
--- a/src/ui/flightdisplay/components/QGCAttitudeWidget.qml
+++ b/src/ui/flightdisplay/components/QGCAttitudeWidget.qml
@@ -35,6 +35,7 @@ Item {
property real pitchAngle: 0
property real backgroundOpacity: 1
property bool displayBackground: true
+ property bool useWhite: true
anchors.fill: parent
@@ -94,9 +95,9 @@ Item {
Image {
id: rollDial
anchors { bottom: root.verticalCenter; horizontalCenter: parent.horizontalCenter}
- source: "/qml/rollDial.svg"
+ source: useWhite ? "/qml/rollDialWhite.svg" : "/qml/rollDial.svg"
mipmap: true
- width: 250
+ width: 260
fillMode: Image.PreserveAspectFit
transform: Rotation {
origin.x: rollDial.width / 2
@@ -108,18 +109,10 @@ Item {
Image {
id: pointer
anchors { bottom: root.verticalCenter; horizontalCenter: parent.horizontalCenter}
- source: "/qml/rollPointer.svg"
+ source: useWhite ? "/qml/rollPointerWhite.svg" : "/qml/rollPointer.svg"
smooth: true
width: rollDial.width
fillMode: Image.PreserveAspectFit
}
- Image {
- anchors.centerIn: parent
- source: "/qml/crossHair.svg"
- mipmap: true
- width: rollDial.width
- fillMode: Image.PreserveAspectFit
- }
-
}
diff --git a/src/ui/flightdisplay/components/QGCCompass.qml b/src/ui/flightdisplay/components/QGCCompass.qml
index 1cb162b690e656bd1f9ee0b27eb1eac4a578828a..08195a0019f7439d4e13263fb253a269a433d31f 100644
--- a/src/ui/flightdisplay/components/QGCCompass.qml
+++ b/src/ui/flightdisplay/components/QGCCompass.qml
@@ -31,7 +31,7 @@ import QtQuick 2.4
Item {
id: root
- width: parent.width * 0.25 > 150 ? parent.width * 0.25 : 150
+ width: 120
height: width
property real heading : 0
Image {
@@ -60,8 +60,8 @@ Item {
anchors.centerIn: compass
width: 40
height: 25
- border.color: Qt.rgba(1,1,1,0.25)
- color: Qt.rgba(1,1,1,0.1)
+ border.color: Qt.rgba(1,1,1,0.15)
+ color: Qt.rgba(0,0,0,0.25)
Text {
text: heading.toFixed(0)
font.weight: Font.DemiBold
diff --git a/src/ui/flightdisplay/components/QGCCurrentAltitude.qml b/src/ui/flightdisplay/components/QGCCurrentAltitude.qml
index 206cbeb93432d6bd270fe4ef1c84bf00f60f5381..00ea307ef6e3a1168820fcb7428cf001c55d7c28 100644
--- a/src/ui/flightdisplay/components/QGCCurrentAltitude.qml
+++ b/src/ui/flightdisplay/components/QGCCurrentAltitude.qml
@@ -45,14 +45,14 @@ Rectangle {
anchors.centerIn: parent
spacing: 4
Text {
- text: 'h: ' + altitude.toFixed(1)
+ text: 'h: ' + altitude.toFixed(0)
font.weight: Font.DemiBold
color: "white"
anchors.right: parent.right
visible: showAltitude
}
Text {
- text: 'vZ: ' + vertZ.toFixed(1)
+ text: 'vZ: ' + vertZ.toFixed(0)
color: "white"
font.weight: showAltitude ? Font.Normal : Font.DemiBold
anchors.right: parent.right
diff --git a/src/ui/flightdisplay/components/QGCCurrentSpeed.qml b/src/ui/flightdisplay/components/QGCCurrentSpeed.qml
index cc42cf5059fe3b7cfdf5da7444bd455d2a39bf66..ddbdcbfe59a725e8ec39094224a2311da39a44ee 100644
--- a/src/ui/flightdisplay/components/QGCCurrentSpeed.qml
+++ b/src/ui/flightdisplay/components/QGCCurrentSpeed.qml
@@ -45,14 +45,14 @@ Rectangle {
anchors.centerIn: parent
spacing: 4
Text {
- text: 'GS: ' + groundspeed.toFixed(1)
+ text: 'GS: ' + groundspeed.toFixed(0)
font.weight: Font.DemiBold
color: "white"
anchors.right: parent.right
visible: showGroundSpeed
}
Text {
- text: 'AS: ' + airspeed.toFixed(1)
+ text: 'AS: ' + airspeed.toFixed(0)
color: "white"
anchors.right: parent.right
font.weight: showAirSpeed ? Font.Normal : Font.DemiBold
diff --git a/src/ui/flightdisplay/components/QGCMapBackground.qml b/src/ui/flightdisplay/components/QGCMapBackground.qml
index 9e880a5e8a6575f3d2d0481b594e4d3bf2714376..9d6403125b0f5c422334956d7bd3987478ed9300 100644
--- a/src/ui/flightdisplay/components/QGCMapBackground.qml
+++ b/src/ui/flightdisplay/components/QGCMapBackground.qml
@@ -62,17 +62,19 @@ Rectangle {
Plugin {
id: mapPlugin
- name: "osm"
+ name: "google"
}
Map {
id: map
+ property real lon: (longitude > -180.1 && longitude < 180.1) ? longitude : 0
+ property real lat: (latitude > -180.1 && latitude < 180.1) ? latitude : 0
plugin: mapPlugin
width: 1
height: 1
zoomLevel: zoomLevel
anchors.centerIn: parent
- center: map.visible ? QtPositioning.coordinate(latitude, longitude) : QtPositioning.coordinate(0,0)
+ center: map.visible ? QtPositioning.coordinate(lat, lon) : QtPositioning.coordinate(0,0)
transform: Rotation {
origin.x: map.width / 2
origin.y: map.height / 2
diff --git a/src/ui/flightdisplay/components/QGCPitchWidget.qml b/src/ui/flightdisplay/components/QGCPitchWidget.qml
index f66582e6f97e1961575359a6bd0b3dbd55694713..bc3fe51bd2d30f888e79aa73185978dce69abbc6 100644
--- a/src/ui/flightdisplay/components/QGCPitchWidget.qml
+++ b/src/ui/flightdisplay/components/QGCPitchWidget.qml
@@ -33,26 +33,27 @@ Rectangle {
property real pitchAngle: 0
property real rollAngle: 0
property real _reticleHeight: 1
- property real _reticleSpacing: 20
+ property real _reticleSpacing: 17
property real _reticleSlot: _reticleSpacing + _reticleHeight
- height: 130
- width: parent.width
+ height: 110
+ width: 120
+ radius: 8
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
clip: true
- color: Qt.rgba(0,0,0,0)
Item {
height: parent.height
width: parent.width
Column{
anchors.horizontalCenter: parent.horizontalCenter
- anchors.verticalCenter: parent.verticalCenter
+ anchors.verticalCenter: parent.verticalCenter
spacing: _reticleSpacing
Repeater {
model: 36
Rectangle {
+ property int _pitch: -(modelData * 5 - 90)
anchors.horizontalCenter: parent.horizontalCenter
- width: ((modelData * 5 - 90) % 10) === 0 ? 50 : 30
+ width: (_pitch % 10) === 0 ? 50 : 30
height: _reticleHeight
color: "white"
antialiasing: true
@@ -63,9 +64,9 @@ Rectangle {
anchors.verticalCenter: parent.verticalCenter
smooth: true
font.weight: Font.DemiBold
- text: -(modelData * 5 - 90)
+ text: _pitch
color: "white"
- visible: ((modelData * 5 - 90) % 10) === 0
+ visible: (_pitch != 0) && ((_pitch % 10) === 0)
}
Text {
anchors.horizontalCenter: parent.horizontalCenter
@@ -73,9 +74,9 @@ Rectangle {
anchors.verticalCenter: parent.verticalCenter
smooth: true
font.weight: Font.DemiBold
- text: -(modelData * 5 - 90)
+ text: _pitch
color: "white"
- visible: ((modelData * 5 - 90) % 10) === 0
+ visible: (_pitch != 0) && ((_pitch % 10) === 0)
}
}
}
diff --git a/src/ui/flightdisplay/components/QGCSpeedWidget.qml b/src/ui/flightdisplay/components/QGCSpeedWidget.qml
index aeb0daaaf5119799a54da9fcec2a5e0cf50cf59a..764e873d8ffa5383a25b5e3e7f8bb378b71d70bd 100644
--- a/src/ui/flightdisplay/components/QGCSpeedWidget.qml
+++ b/src/ui/flightdisplay/components/QGCSpeedWidget.qml
@@ -28,16 +28,19 @@ This file is part of the QGROUNDCONTROL project
*/
import QtQuick 2.4
+import QGroundControl.ScreenTools 1.0
Rectangle {
id: root
+ property ScreenTools screenTools: ScreenTools { }
property real speed: 0
- property real _reticleSpacing: 14
- property real _reticleHeight: 1
+ property real _reticleSpacing: 10
+ property real _reticleHeight: 2
property real _reticleSlot: _reticleSpacing + _reticleHeight
anchors.verticalCenter: parent.verticalCenter
+ z:10
height: parent.height * 0.75 > 280 ? 280 : parent.height * 0.75
clip: true
smooth: true
@@ -49,6 +52,7 @@ Rectangle {
GradientStop { position: 1.0; color: Qt.rgba(0,0,0,0.65) }
}
Column{
+ id: col
width: parent.width
anchors.verticalCenter: parent.verticalCenter
spacing: _reticleSpacing
@@ -56,19 +60,19 @@ Rectangle {
model: 40
Rectangle {
property int _speed: -(index - 20)
- width: (_speed % 5 === 0) ? 15 : 30
+ width: (_speed % 5 === 0) ? 10 : 15
anchors.right: parent.right
height: _reticleHeight
color: Qt.rgba(1,1,1,0.35)
Text {
visible: (_speed % 5 === 0)
anchors.horizontalCenter: parent.horizontalCenter
- anchors.horizontalCenterOffset: -25
+ anchors.horizontalCenterOffset: -30
anchors.verticalCenter: parent.verticalCenter
antialiasing: true
- font.weight: _speed < 0 ? Font.Light : Font.DemiBold
- text: _speed < 0 ? -_speed : _speed
- color: _speed < 0 ? "#ef2526" : "white"
+ font.weight: Font.DemiBold
+ text: _speed
+ color: _speed < 0 ? "#f8983a" : "white"
style: Text.Outline
styleColor: Qt.rgba(0,0,0,0.25)
}
diff --git a/src/ui/flightdisplay/components/compass.svg b/src/ui/flightdisplay/components/compass.svg
index 8ea39a907e64ba153d9ca0829db16c3762c79160..0f388c131436939fc2a06018d93a262250ba4010 100644
--- a/src/ui/flightdisplay/components/compass.svg
+++ b/src/ui/flightdisplay/components/compass.svg
@@ -23,55 +23,101 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -115,12647 +161,12665 @@
eJzsveuuHMmRJvgE8Q65PxqQBs1U+N1D2xjg5Ln0aldqCSq1Ro3GoECxjkocscgCi6Ue7dPv95m7
R0a4eZ5LkdK20GRAJTIzMsIv5maf3f/h//jVFy+uvnr3+/sX7jgfpn/4h+v39y8/vHv/04N8evjZ
mzfff/fhPT/60a9/fDDpOOOmq5/lL+uNv71//93rd29/ejD5aI4GX97x1z/65++/O/zz++9///uX
-Pz786Mf4+DevP7y5xxev3n3z7cvvvju+fP3j9jr8/ublB3zpfuLMT0w4GPtT/PfqF7zh5ds/4/bX
-/y++NtFlh89O775/+9Xrt1+f3v3vnx7C4YXN7sD/vQj48v96/ev77/Z3HONy/pMtf2CPdvPZQX3w
-ov8Rnnzz7tX339y//fCr9+9e3X/33fW7N+/ef/fTw+nNy1d/mrAm4cu712/uMf1vXn44GMeVuvqZ
-sV+evn/95qt/+f6b399jYbyP/Nh9KT//1+9efo2Jyd/5cfryZ9/gky/uP3zA6PFwrvb1L/7t/9m+
-EwtRrx/9+6/vv34t+4M1/J8/rk9+/+7bb16+/xN/zrnmA/83ly9/c//Nt2+w2LIyxvsj1q/83/Yf
-9V5MR+7jh1iSeT54Zw/W+fL9eUHu//z6/j9+eviXd2/vy0pcvf/wRdkz7/Ez+W/55tffv7l//69v
-X38os7v62VKW4hfvvrp/89ODXX9/9+alrIBc5vzfcsNvXr7/+v4Dtvrdm+8/CAHm9gYs9c9f/uWe
-exPKC3757f3b37z7rYwRc3GHfPBH0IyPC2ht8SBeeb6P2De3vrJd+Ht5Mp/Dp7THO5ccCfJX2LNf
-vn/99eu3P31hIggs+Lls5z+/f/3VeTcXvJj/M/UVuLDk9X9lqJj1hw/3PE+Veq5/saGG+fiLL/C+
-27dfXb/7hkv/HY8DaOAtCOTNu6/Ld+vf5Rv8/Ptvy/jl319il371/vVbPnP6F/kmf/mrN9/jq39+
-/+77b3/29g/vph+V4/8rDub921++xV/+eDi9//67Px5+8+7dG5zp3Q31q/IUfvn+Q/mNfM5f4Lx/
-++P/NO9afzN6D778e3nH9cs3b15//f7lt398/Wr0msH36/u23z3jlSDQ9/fnp8g/2/8//usvXskm
-jsa6/2p9Qf34GSP8W7zjt/evIPzA4b46/PL3/wv/wFOEdR9+8/7lK5ws/Hu95wm0D3byLW5//ee2
-tAe550z7l2/YfPXkQ3a4/eo1xnbhXQ/e88V/vPzw6o8/f/377x5/289fv1XDlc9evv/wH+/e/4mL
-9tX9y7PYfMLm/uker1eDKp/+8MeWc/rm/u1X363rUP55ppKfY4XLZ08Y5l+++f27N6+/++ZMeptP
-foWBvn715v6Lv3z34f6bx592c/8HzGPDKuTT27d/vn/z7tvNYSz3PWG2b16+ffm+2/afC229hGA4
-P5A33n/43UNP5Mr94fXbr3Cqvvj+9Yf7M+8B0CMMO3zxx5ff3sus251frA8MX0JebSXSixcPiCo7
-H05vN9//8/uXX72GFASsvHtJvAfy+MuPp+0/IGPt4fTV9O/TfMz4n5/m6Z8mQIX/PpnDP3x5el++
-gQD2Io5n/HFF6MdDgOQHesFtkLpfPnbb6bvtkwQ5yHejB2y/xe9ON+titDmNp/nL9y/ffn3/j4d/
-u3/z5t1/YKrdB3hcKNPFJMMPvOL4mjZ//e94/ul0uj7dnG5Pd9fztbm21+7aX4freJ2u8/VyfXV9
-fX1zfXt9dzPfmBt74278TbiJN+km3yw3Vzenm+ubm5vbm7vb+dbc2ls33frbcBtv022W5+Pup1/+
-8Wva/PW/gwzq/mOh3AOXf/41qY926yuTyz6HHHPKOS/5Kp/ydb7Jt/lumRezAJIuYYlLWjKUj6vl
-tFwvN8vtcnc1X5kre+Wu/FW4ilfpKl8tV1dXp6vr6erm6vbq7jSfzMme3Mmfwime0imfltPV6VQW
-ND3rio9d0+DDzZ50i2w/7dU/8KE9fPCSpYFiubgrd3LX7sbdujtsmvHWO+998NEnn/3ir/zJX4N6
-bv0dttEEG3wIIYYUcljCVTiFa0z7NtzFeYrQA6KLPoYYY4o5LvEqnuI11ug23qU5mWSTSz6FFFNK
-OS3pKp3SNRb+Nt3lOZsMlTZ7Gd3d3d0trhtc17hOuK5wLbgyroQr3gVcHpfDZXEZXPPdzB/e8s/N
-LQ7jLY7r7dV0e3ULcroFweG0JZy5iJMXcP78rcNRtDiQBsdy5htxRG9v+AenGYf2hKMLYsQhzjep
-2+Kn/jFPu6an3vgpHvhM8ru7k52RyVhhE+Sbac7zMl/NOIbz9XyDFbzDs42xuJzxJhjQhUkmG5xy
-c2VOBozT3HC1zR2fO+FO/nG4vAWFWZCRBalYkIMFY7A4/hYn3ILfWnBVK9vF/a7kbOSSBzj8mfgf
-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
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/ui/flightdisplay/components/compassNeedle.svg b/src/ui/flightdisplay/components/compassNeedle.svg
index be343594a00a4bdfe83501d4fbb9f851938b6aba..9da7ae17debb20862a80bae9976849cd2c49496a 100644
--- a/src/ui/flightdisplay/components/compassNeedle.svg
+++ b/src/ui/flightdisplay/components/compassNeedle.svg
@@ -1,12 +1,6 @@
-
diff --git a/src/ui/flightdisplay/components/crossHair.svg b/src/ui/flightdisplay/components/crossHair.svg
index 3ec51bb680206f2cfaa589fd283516e3bf7d5ead..f0216c82a8d506503e103df9c3a21aa05bbbb6e6 100644
--- a/src/ui/flightdisplay/components/crossHair.svg
+++ b/src/ui/flightdisplay/components/crossHair.svg
@@ -1,10 +1,10 @@
diff --git a/src/ui/flightdisplay/components/rollDial.svg b/src/ui/flightdisplay/components/rollDial.svg
index 3be775dbc1a7f01754b94f2470b82e9ee9ec4305..6225276b06b30dc53ed8a2963273473f94d74b2b 100644
--- a/src/ui/flightdisplay/components/rollDial.svg
+++ b/src/ui/flightdisplay/components/rollDial.svg
@@ -3,36 +3,30 @@
diff --git a/src/ui/flightdisplay/components/rollDialWhite.svg b/src/ui/flightdisplay/components/rollDialWhite.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b40ddadf1b3b7da33d61b012c9b185dce049263b
--- /dev/null
+++ b/src/ui/flightdisplay/components/rollDialWhite.svg
@@ -0,0 +1,151 @@
+
+
+
diff --git a/src/ui/flightdisplay/components/rollPointer.svg b/src/ui/flightdisplay/components/rollPointer.svg
index 7b151db0fea3b8ef3af91aa317d23396b3838ab0..4bb1551a46b96d7160733bc3dc8aab7cc2867117 100644
--- a/src/ui/flightdisplay/components/rollPointer.svg
+++ b/src/ui/flightdisplay/components/rollPointer.svg
@@ -2,18 +2,15 @@
diff --git a/src/ui/flightdisplay/components/rollPointerWhite.svg b/src/ui/flightdisplay/components/rollPointerWhite.svg
new file mode 100644
index 0000000000000000000000000000000000000000..52b29adc6d3918fe8d82e76f4fabff9e4aac3fc3
--- /dev/null
+++ b/src/ui/flightdisplay/components/rollPointerWhite.svg
@@ -0,0 +1,16 @@
+
+
+