(function (global, factory) { if (typeof define === "function" && define.amd) { define(["exports"], factory); } else if (typeof exports !== "undefined") { factory(exports); } else { var mod = { exports: {} }; factory(mod.exports); global.WebGL = mod.exports; } })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) { "use strict"; Object.defineProperty(_exports, "__esModule", { value: true }); _exports.WEBGL = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var WEBGL = /*#__PURE__*/function () { function WEBGL() { _classCallCheck(this, WEBGL); } _createClass(WEBGL, null, [{ key: "isWebGLAvailable", value: function isWebGLAvailable() { try { var canvas = document.createElement('canvas'); return !!(window.WebGLRenderingContext && (canvas.getContext('webgl') || canvas.getContext('experimental-webgl'))); } catch (e) { return false; } } }, { key: "isWebGL2Available", value: function isWebGL2Available() { try { var canvas = document.createElement('canvas'); return !!(window.WebGL2RenderingContext && canvas.getContext('webgl2')); } catch (e) { return false; } } }, { key: "getWebGLErrorMessage", value: function getWebGLErrorMessage() { return this.getErrorMessage(1); } }, { key: "getWebGL2ErrorMessage", value: function getWebGL2ErrorMessage() { return this.getErrorMessage(2); } }, { key: "getErrorMessage", value: function getErrorMessage(version) { var names = { 1: 'WebGL', 2: 'WebGL 2' }; var contexts = { 1: window.WebGLRenderingContext, 2: window.WebGL2RenderingContext }; var message = 'Your $0 does not seem to support $1'; var element = document.createElement('div'); element.id = 'webglmessage'; element.style.fontFamily = 'monospace'; element.style.fontSize = '13px'; element.style.fontWeight = 'normal'; element.style.textAlign = 'center'; element.style.background = '#fff'; element.style.color = '#000'; element.style.padding = '1.5em'; element.style.width = '400px'; element.style.margin = '5em auto 0'; if (contexts[version]) { message = message.replace('$0', 'graphics card'); } else { message = message.replace('$0', 'browser'); } message = message.replace('$1', names[version]); element.innerHTML = message; return element; } }]); return WEBGL; }(); _exports.WEBGL = WEBGL; });