@maptalks/gl
Advanced tools
| /*! | ||
| * @maptalks/gl v0.1.7 | ||
| * @maptalks/gl v0.1.8 | ||
| * LICENSE : UNLICENSED | ||
| * (c) 2016-2019 maptalks.org | ||
| */ | ||
| export{default as createREGL}from"regl";import*as e from"@maptalks/reshader.gl";export{e as reshader};export{glMatrix,mat2,mat2d,mat3,mat4,quat,quat2,vec2,vec3,vec4}from"gl-matrix";import{Layer as t,Util as r,renderer as s}from"maptalks";import{GLContext as n}from"@maptalks/fusiongl";export{GLContext}from"@maptalks/fusiongl";class a extends t{static fromJSON(e){if(!e||"GroupGLLayer"!==e.type)return null;const r=e.layers.map(e=>t.fromJSON(e));return new a(e.id,r,e.options)}constructor(e,t,r){super(e,r),this.layers=t||[],this._checkChildren(),this._layerMap={}}addLayer(e,t){if(e.getMap())throw new Error(`layer(${e.getId()} is already added on map`);void 0===t?this.layers.push(e):this.layers.splice(t,0,e),this._checkChildren();const r=this.getRenderer();return r?(this._prepareLayer(e),r.setToRedraw(),this):this}removeLayer(e){r.isString(e)&&(e=this.getChildLayer(e));const t=this.layers.indexOf(e);return t<0?this:(e._doRemove(),e.off("show hide",this._onLayerShowHide,this),delete this._layerMap[e.getId()],this.layers.splice(t,1),this.getRenderer().setToRedraw(),this)}getLayers(){return this.layers}toJSON(){return{type:this.getJSONType(),id:this.getId(),layers:this.layers.map(e=>e.toJSON()),options:this.config()}}onLoadEnd(){this.layers.forEach(e=>{this._prepareLayer(e)}),super.onLoadEnd()}_prepareLayer(e){const t=this.getMap();this._layerMap[e.getId()]=e,e._canvas=this.getRenderer().canvas,e._bindMap(t),e.once("renderercreate",this._onChildRendererCreate,this),e.load(),this._bindChildListeners(e)}onRemove(){this.layers.forEach(e=>{e._doRemove(),e.off("show hide",this._onLayerShowHide,this)}),delete this._layerMap,super.onRemove()}getChildLayer(e){return this._layerMap[e]||null}_bindChildListeners(e){e.on("show hide",this._onLayerShowHide,this)}_onLayerShowHide(){const e=this.getRenderer();e&&e.setToRedraw()}_onChildRendererCreate(e){e.renderer.clearCanvas=i}isVisible(){if(!super.isVisible())return!1;const e=this.layers;for(let t=0,r=e.length;t<r;t++)if(e[t].isVisible())return!0;return!1}_checkChildren(){const e={};this.layers.forEach(t=>{const r=t.getId();if(e[r])throw new Error(`Duplicate child layer id (${r}) in the GroupGLLayer (${this.getId()})`);e[r]=1})}}a.mergeOptions({renderer:"gl",antialias:!0,extensions:["OES_texture_float","OES_texture_float_linear","OES_element_index_uint","OES_standard_derivatives"],optionalExtensions:["WEBGL_draw_buffers","EXT_shader_texture_lod"],forceRenderOnZooming:!0,forceRenderOnMoving:!0,forceRenderOnRotating:!0}),a.registerJSONType("GroupGLLayer");function i(){}a.registerRenderer("gl",class extends s.CanvasRenderer{onAdd(){super.onAdd(),this.prepareCanvas()}render(...e){this.getMap()&&this.layer.isVisible()&&(this.prepareRender(),this.prepareCanvas(),this.forEachRenderer((t,r)=>{if(!r.isVisible())return;const s=t.gl;s&&s instanceof n&&s.clear(s.STENCIL_BUFFER_BIT),t.render.apply(t,e)}),this._toRedraw=!1)}drawOnInteracting(...e){this.getMap()&&this.layer.isVisible()&&(this.forEachRenderer((t,r)=>{if(!r.isVisible())return;const s=t.gl;s&&s instanceof n&&s.clear(s.STENCIL_BUFFER_BIT),t.drawOnInteracting.apply(t,e)}),this._toRedraw=!1)}testIfNeedRedraw(){if(this._toRedraw)return this._toRedraw=!1,!0;const e=this.layer.getLayers();for(const t of e){const e=t.getRenderer();if(e&&e.testIfNeedRedraw())return!0}return!1}isRenderComplete(){const e=this.layer.getLayers();for(const t of e){const e=t.getRenderer();if(e&&!e.isRenderComplete())return!1}return!0}mustRenderOnInteracting(){const e=this.layer.getLayers();for(const t of e){const e=t.getRenderer();if(e&&e.mustRenderOnInteracting())return!0}return!1}isCanvasUpdated(){const e=this.layer.getLayers();for(const t of e){const e=t.getRenderer();if(e&&e.isCanvasUpdated())return!0}return!1}isBlank(){const e=this.layer.getLayers();for(const t of e){const e=t.getRenderer();if(e&&!e.isBlank())return!1}return!0}createContext(){const e=this.layer,t=e.options.glOptions||{alpha:!0,depth:!0,stencil:!0};t.preserveDrawingBuffer=!0,t.antialias=e.options.antialias,this.glOptions=t;const r=this.gl=this._createGLContext(this.canvas,t);this._initGL(r),r.wrap=(()=>new n(this.gl)),this.glCtx=r.wrap(),this.canvas.gl=this.gl}_initGL(){const e=this.layer,t=this.gl,r=e.options.extensions;r&&r.forEach(e=>{t.getExtension(e)});const s=e.options.optionalExtensions;s&&s.forEach(e=>{t.getExtension(e)}),this.gl.clearColor(0,0,0,0)}clearCanvas(){super.clearCanvas();const e=this.glCtx;e.bindFramebuffer(e.FRAMEBUFFER,null),e.bindRenderbuffer(e.RENDERBUFFER,null),e.clear(e.COLOR_BUFFER_BIT|e.STENCIL_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}resizeCanvas(){super.resizeCanvas(),this.gl.viewport(0,0,this.canvas.width,this.canvas.height),this.forEachRenderer(e=>{e.canvas&&e.resizeCanvas()})}getCanvasImage(){return this.forEachRenderer(e=>{e.getCanvasImage()}),super.getCanvasImage()}forEachRenderer(e){const t=this.layer.getLayers();for(const r of t){const t=r.getRenderer();t&&e(t,r)}}_createGLContext(e,t){const r=["webgl","experimental-webgl"];let s=null;for(let n=0;n<r.length;++n){try{s=e.getContext(r[n],t)}catch(e){}if(s)break}return s}}),a.registerRenderer("canvas",null),"undefined"!=typeof window&&window.maptalks&&(window.maptalks.GroupGLLayer=a);export{a as GroupGLLayer};"undefined"!=typeof console&&console.log("@maptalks/gl v0.1.7"); | ||
| export{default as createREGL}from"regl";import*as e from"@maptalks/reshader.gl";export{e as reshader};export{glMatrix,mat2,mat2d,mat3,mat4,quat,quat2,vec2,vec3,vec4}from"gl-matrix";import{Layer as t,Util as r,renderer as s}from"maptalks";import{GLContext as n}from"@maptalks/fusiongl";export{GLContext}from"@maptalks/fusiongl";class a extends t{static fromJSON(e){if(!e||"GroupGLLayer"!==e.type)return null;const r=e.layers.map(e=>t.fromJSON(e));return new a(e.id,r,e.options)}constructor(e,t,r){super(e,r),this.layers=t||[],this._checkChildren(),this._layerMap={}}addLayer(e,t){if(e.getMap())throw new Error(`layer(${e.getId()} is already added on map`);void 0===t?this.layers.push(e):this.layers.splice(t,0,e),this._checkChildren();const r=this.getRenderer();return r?(this._prepareLayer(e),r.setToRedraw(),this):this}removeLayer(e){r.isString(e)&&(e=this.getChildLayer(e));const t=this.layers.indexOf(e);return t<0?this:(e._doRemove(),e.off("show hide",this._onLayerShowHide,this),delete this._layerMap[e.getId()],this.layers.splice(t,1),this.getRenderer().setToRedraw(),this)}getLayers(){return this.layers}toJSON(){return{type:this.getJSONType(),id:this.getId(),layers:this.layers.map(e=>e.toJSON()),options:this.config()}}onLoadEnd(){this.layers.forEach(e=>{this._prepareLayer(e)}),super.onLoadEnd()}_prepareLayer(e){const t=this.getMap();this._layerMap[e.getId()]=e,e._canvas=this.getRenderer().canvas,e._bindMap(t),e.once("renderercreate",this._onChildRendererCreate,this),e.load(),this._bindChildListeners(e)}onRemove(){this.layers.forEach(e=>{e._doRemove(),e.off("show hide",this._onLayerShowHide,this)}),delete this._layerMap,super.onRemove()}getChildLayer(e){return this._layerMap[e]||null}_bindChildListeners(e){e.on("show hide",this._onLayerShowHide,this)}_onLayerShowHide(){const e=this.getRenderer();e&&e.setToRedraw()}_onChildRendererCreate(e){e.renderer.clearCanvas=i}isVisible(){if(!super.isVisible())return!1;const e=this.layers;for(let t=0,r=e.length;t<r;t++)if(e[t].isVisible())return!0;return!1}_checkChildren(){const e={};this.layers.forEach(t=>{const r=t.getId();if(e[r])throw new Error(`Duplicate child layer id (${r}) in the GroupGLLayer (${this.getId()})`);e[r]=1})}}a.mergeOptions({renderer:"gl",antialias:!0,extensions:["OES_texture_float","OES_texture_float_linear","OES_element_index_uint","OES_standard_derivatives"],optionalExtensions:["WEBGL_draw_buffers","EXT_shader_texture_lod"],forceRenderOnZooming:!0,forceRenderOnMoving:!0,forceRenderOnRotating:!0}),a.registerJSONType("GroupGLLayer");function i(){}a.registerRenderer("gl",class extends s.CanvasRenderer{onAdd(){super.onAdd(),this.prepareCanvas()}render(...e){this.getMap()&&this.layer.isVisible()&&(this.prepareRender(),this.prepareCanvas(),this.forEachRenderer((t,r)=>{if(!r.isVisible())return;const s=t.gl;s&&s instanceof n&&s.clear(s.STENCIL_BUFFER_BIT),t.render.apply(t,e)}),this._toRedraw=!1)}drawOnInteracting(...e){this.getMap()&&this.layer.isVisible()&&(this.forEachRenderer((t,r)=>{if(!r.isVisible())return;const s=t.gl;s&&s instanceof n&&s.clear(s.STENCIL_BUFFER_BIT),t.drawOnInteracting.apply(t,e)}),this._toRedraw=!1)}testIfNeedRedraw(){if(this._toRedraw)return this._toRedraw=!1,!0;const e=this.layer.getLayers();for(const t of e){const e=t.getRenderer();if(e&&e.testIfNeedRedraw())return!0}return!1}isRenderComplete(){const e=this.layer.getLayers();for(const t of e){const e=t.getRenderer();if(e&&!e.isRenderComplete())return!1}return!0}mustRenderOnInteracting(){const e=this.layer.getLayers();for(const t of e){const e=t.getRenderer();if(e&&e.mustRenderOnInteracting())return!0}return!1}isCanvasUpdated(){const e=this.layer.getLayers();for(const t of e){const e=t.getRenderer();if(e&&e.isCanvasUpdated())return!0}return!1}isBlank(){const e=this.layer.getLayers();for(const t of e){const e=t.getRenderer();if(e&&!e.isBlank())return!1}return!0}createContext(){const e=this.layer,t=e.options.glOptions||{alpha:!0,depth:!0,stencil:!0};t.preserveDrawingBuffer=!0,t.antialias=e.options.antialias,this.glOptions=t;const r=this.gl=this._createGLContext(this.canvas,t);this._initGL(r),r.wrap=(()=>new n(this.gl)),this.glCtx=r.wrap(),this.canvas.gl=this.gl}_initGL(){const e=this.layer,t=this.gl,r=e.options.extensions;r&&r.forEach(e=>{t.getExtension(e)});const s=e.options.optionalExtensions;s&&s.forEach(e=>{t.getExtension(e)}),this.gl.clearColor(0,0,0,0)}clearCanvas(){super.clearCanvas();const e=this.glCtx;e.bindFramebuffer(e.FRAMEBUFFER,null),e.bindRenderbuffer(e.RENDERBUFFER,null),e.clear(e.COLOR_BUFFER_BIT|e.STENCIL_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}resizeCanvas(){super.resizeCanvas(),this.gl.viewport(0,0,this.canvas.width,this.canvas.height),this.forEachRenderer(e=>{e.canvas&&e.resizeCanvas()})}getCanvasImage(){return this.forEachRenderer(e=>{e.getCanvasImage()}),super.getCanvasImage()}forEachRenderer(e){const t=this.layer.getLayers();for(const r of t){const t=r.getRenderer();t&&e(t,r)}}_createGLContext(e,t){const r=["webgl","experimental-webgl"];let s=null;for(let n=0;n<r.length;++n){try{s=e.getContext(r[n],t)}catch(e){}if(s)break}return s}}),a.registerRenderer("canvas",null),"undefined"!=typeof window&&window.maptalks&&(window.maptalks.GroupGLLayer=a);export{a as GroupGLLayer};"undefined"!=typeof console&&console.log("@maptalks/gl v0.1.8"); |
+2
-2
| { | ||
| "name": "@maptalks/gl", | ||
| "version": "0.1.7", | ||
| "version": "0.1.8", | ||
| "description": "WebGL infrastrcture for maptalks", | ||
@@ -30,3 +30,3 @@ "main": "dist/maptalksgl.js", | ||
| "@maptalks/fusiongl": "^0.1.0", | ||
| "@maptalks/reshader.gl": "^0.1.7", | ||
| "@maptalks/reshader.gl": "^0.1.8", | ||
| "gl-matrix": "^2.6.1", | ||
@@ -33,0 +33,0 @@ "regl": "^1.3.1" |
Sorry, the diff of this file is too big to display
Explicitly Unlicensed Item
LicenseSomething was found which is explicitly marked as unlicensed.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Explicitly Unlicensed Item
LicenseSomething was found which is explicitly marked as unlicensed.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
272794
1.02%1026
0.98%10
11.11%Updated