///
///
declare namespace pxsim {
let pinIds: Map;
function pinByName(name: string): Pin;
class DalBoard extends CoreBoard implements MusicBoard, LightBoard, CapTouchBoard, AccelerometerBoard, StorageBoard, LightSensorBoard, TemperatureBoard, MicrophoneBoard, ScreenBoard, InfraredBoard, LCDBoard, RadioBoard, ControlMessageBoard {
boardDefinition: BoardDefinition;
viewHost: visuals.BoardHost;
view: SVGElement;
edgeConnectorState: EdgeConnectorState;
lightSensorState: AnalogSensorState;
buttonState: CommonButtonState;
lightState: pxt.Map;
audioState: AudioState;
neopixelPin: Pin;
touchButtonState: TouchButtonState;
accelerometerState: AccelerometerState;
storageState: StorageState;
thermometerState: AnalogSensorState;
thermometerUnitState: TemperatureUnit;
microphoneState: MicrophoneState;
screenState: ScreenState;
irState: InfraredState;
lcdState: LCDState;
radioState: RadioState;
controlMessageState: ControlMessageState;
constructor(boardDefinition: BoardDefinition);
kill(): void;
initAsync(msg: SimulatorRunMessage): Promise;
screenshotAsync(width?: number): Promise;
accelerometer(): Accelerometer;
getDefaultPitchPin(): Pin;
tryGetNeopixelState(pinId: number): CommonNeoPixelState;
neopixelState(pinId: number): CommonNeoPixelState;
}
function initRuntimeWithDalBoard(msg: SimulatorRunMessage): void;
function parsePinString(pinString: string): Pin;
namespace jacdac {
function _setLedChannel(ch: number, val: number): void;
}
}
declare namespace pxsim.visuals {
const VIEW_WIDTH = 372.3404255319149;
const VIEW_HEIGHT = 361.70212765957444;
interface IBoardTheme {
accent?: string;
display?: string;
pin?: string;
pinTouched?: string;
pinActive?: string;
ledOn?: string;
ledOff?: string;
buttonOuter?: string;
buttonUps: string[];
buttonDown?: string;
virtualButtonOuter?: string;
virtualButtonUp?: string;
virtualButtonDown?: string;
lightLevelOn?: string;
lightLevelOff?: string;
soundLevelOn?: string;
soundLevelOff?: string;
}
var themes: IBoardTheme[];
function randomTheme(): IBoardTheme;
type ComputedBoardDimensions = {
scaleFn: (n: number) => number;
height: number;
width: number;
xOff: number;
yOff: number;
};
function getBoardDimensions(vis: BoardImageDefinition): ComputedBoardDimensions;
interface MetroBoardProps extends GenericBoardProps {
runtime?: pxsim.Runtime;
theme?: IBoardTheme;
disableTilt?: boolean;
}
class MetroBoardSvg extends GenericBoardSvg {
props: MetroBoardProps;
board: pxsim.DalBoard;
private onBoardLeds;
private onBoardNeopixels;
private onBoardReset;
private onBoardButtons;
private onBoardTouchPads;
constructor(props: MetroBoardProps);
updateTheme(): void;
updateState(): void;
private addDefs;
}
}
declare namespace pxsim.visuals {
}
declare namespace pxsim.visuals {
class ButtonView implements IBoardPart {
element: SVGElement;
defs: SVGElement[];
style: string;
private state;
private bus;
private btn;
private pinId;
private button;
init(bus: EventBus, state: CommonButtonState, svgEl: SVGSVGElement, otherParams: Map): void;
moveToCoord(xy: Coord): void;
updateState(): void;
updateTheme(): void;
private mkBtn;
private attachEvents;
}
}