UNPKG

vislite

Version:

灵活、快速、简单的数据可视化交互式跨端前端库

41 lines (27 loc) 1.13 kB
import getWebGLContext from "../../src/common/webgl/getWebGLContext" import type { WebGLmodeType } from "../../types/getWebGLContext" export default (el: HTMLElement | null, scale: number = 1, mode?: WebGLmodeType) => { if (!el) { throw new Error("VISLite getWebGLContext:The mount point requires an HTMLElement type but encountered null.") } let width = el.clientWidth, height = el.clientHeight let ViewCanvas: HTMLCanvasElement let _el = el as any // 如果已经初始化过了 if (_el._vislite_canvas_) { ViewCanvas = _el._vislite_canvas_ } // 否则就初始化 else { ViewCanvas = document.createElement('canvas') el.appendChild(ViewCanvas) _el._vislite_canvas_ = ViewCanvas el.setAttribute('vislite', 'WebGL') } // 设置画布大小 ViewCanvas.style.width = width + "px" ViewCanvas.setAttribute('width', width + "") ViewCanvas.style.height = height + "px" ViewCanvas.setAttribute('height', height + "") return getWebGLContext(ViewCanvas, scale, {}, mode) }