diff options
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.scala | 19 |
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) + } +} |