All files / player/rendering renderer.ts

14.29% Statements 1/7
0% Branches 0/8
50% Functions 1/2
14.29% Lines 1/7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27    1x                                                
import { PanelFrame } from "../../types";
 
export abstract class Renderer {
  protected _parameters: IRendererParameters;
 
  constructor(parameters: IRendererParameters) {
  }
  
  render(display: PanelFrame): void {
    if (this._parameters.element == null) {
      this._parameters.element = document.getElementById(this._parameters.elementId) as HTMLElement;
      if (this._parameters.element == null) {
        throw `Could not find the element to render led matrix`;
      }
    } else {
      if (this._parameters.element.clientHeight == 0 || this._parameters.element.clientWidth == 0) {
        this._parameters.element = document.getElementById(this._parameters.elementId) as HTMLElement;
      }
    }
  }
  abstract get parameters(): IRendererParameters;
}
 
export interface IRendererParameters {
  elementId: string
  element?: HTMLElement
}