Home Reference Source

src/ProxyGLProvider.ts

import GLProvider from './GLProvider';

export default abstract class ProxyGLProvider implements GLProvider {
  _glProvider:GLProvider;

  constructor(window:GLProvider) {
    this._glProvider = window;
  }

  glProvider():GLProvider {
    return this._glProvider;
  }

  abstract id():string;

  shaders():{ [shaderName:string]:WebGLProgram } {
    return this.glProvider().shaders();
  }

  container():HTMLElement {
    return this.glProvider().container();
  }

  canvas():HTMLCanvasElement {
    return this.glProvider().canvas();
  }

  gl():WebGLRenderingContext {
    return this.glProvider().gl();
  }
}