limited support for RGB led

This commit is contained in:
Peli de Halleux
2016-09-27 13:35:48 -07:00
parent c88645d0cd
commit 4b583e221b
5 changed files with 79 additions and 5 deletions

View File

@ -253,6 +253,7 @@ namespace pxsim.visuals {
private shakeButton: SVGElement;
public board: pxsim.DalBoard;
private pinNmToCoord: Map<Coord> = {};
private rgbLed: SVGElement;
constructor(public props: IBoardProps) {
this.recordPinCoords();
@ -341,11 +342,21 @@ namespace pxsim.visuals {
this.updateTemperature();
this.updateButtonAB();
this.updateGestures();
this.updateRgbLed();
if (!runtime || runtime.dead) svg.addClass(this.element, "grayscale");
else svg.removeClass(this.element, "grayscale");
}
private updateRgbLed() {
let state = this.board;
if (state.rgbLedState) {
if (!this.rgbLed)
this.rgbLed = svg.child(this.g, "circle", { cx: 170, cy: 200 });
svg.fill(this.rgbLed, svg.toHtmlColor(state.rgbLedState));
}
}
private updateGestures() {
let state = this.board;
if (state.accelerometerState.useShake && !this.shakeButton) {
@ -353,7 +364,7 @@ namespace pxsim.visuals {
this.shakeButton = shake.inner;
svg.fill(this.shakeButton, this.props.theme.virtualButtonUp)
svg.buttonEvents(shake.outer,
ev => {},
ev => { },
(ev) => {
svg.fill(this.shakeButton, this.props.theme.virtualButtonDown)
},