aboutsummaryrefslogtreecommitdiff
path: root/mavigator-cockpit/src/main/scala/mavigator/dashboard/ui/instruments/Altimeter.scala
diff options
context:
space:
mode:
Diffstat (limited to 'mavigator-cockpit/src/main/scala/mavigator/dashboard/ui/instruments/Altimeter.scala')
-rw-r--r--mavigator-cockpit/src/main/scala/mavigator/dashboard/ui/instruments/Altimeter.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/mavigator-cockpit/src/main/scala/mavigator/dashboard/ui/instruments/Altimeter.scala b/mavigator-cockpit/src/main/scala/mavigator/dashboard/ui/instruments/Altimeter.scala
new file mode 100644
index 0000000..9919d33
--- /dev/null
+++ b/mavigator-cockpit/src/main/scala/mavigator/dashboard/ui/instruments/Altimeter.scala
@@ -0,0 +1,19 @@
+package mavigator.dashboard.ui.instruments
+
+import mavigator.util.Environment
+
+import org.scalajs.dom.html
+import rx._
+
+class Altimeter(val value: Rx[Double])(implicit env: Environment) extends SvgInstrument[Double] {
+ import SvgInstrument._
+
+ lazy val element = svgObject("altimeter")
+ lazy val hand = part("hand")
+ lazy val moveable = Seq(hand)
+
+ // 1m === 36deg = 2Pi / 10 ~= 0.62832
+ protected def update(altitude: Double) = {
+ rotate(hand, (altitude * 0.62832).toInt)
+ }
+}