blob: 0e958432b2cb85dfe999499f35a4cc145dc83add (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package vfd.dashboard.ui.instruments
import org.scalajs.dom.html
import vfd.dashboard.Environment
class Horizon(implicit env: Environment) extends SvgInstrument[(Double, Double)] {
import SvgInstrument._
val initial = (0.0, 0.0)
lazy val element = svgObject("horizon")
lazy val pitch = part("pitch")
lazy val roll = part("roll")
lazy val moveable = Seq(pitch, roll)
protected def update(pitchRoll: (Double, Double)) = {
translate(pitch, 0, (pitchRoll._1 * 180 / math.Pi).toInt) // 1deg === 1px
rotate(roll, pitchRoll._2)
}
}
|