🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@maptalks/gl

Package Overview
Dependencies
Maintainers
1
Versions
355
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@maptalks/gl - npm Package Compare versions

Comparing version
0.1.2
to
0.1.4
+2
-2
dist/maptalksgl.es.js
/*!
* @maptalks/gl v0.1.2
* @maptalks/gl v0.1.4
* 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",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.options.glOptions||{alpha:!0,depth:!0,antialias:!0,stencil:!0};e.preserveDrawingBuffer=!0,this.glOptions=e;const t=this.gl=this._createGLContext(this.canvas,e);this._initGL(t),t.wrap=(()=>new n(this.gl)),this.glCtx=t.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.2");
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",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.options.glOptions||{alpha:!0,depth:!0,antialias:!0,stencil:!0};e.preserveDrawingBuffer=!0,this.glOptions=e;const t=this.gl=this._createGLContext(this.canvas,e);this._initGL(t),t.wrap=(()=>new n(this.gl)),this.glCtx=t.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.4");
{
"name": "@maptalks/gl",
"version": "0.1.2",
"version": "0.1.4",
"description": "WebGL infrastrcture for maptalks",

@@ -10,5 +10,5 @@ "main": "dist/maptalksgl.js",

"scripts": {
"build": "npm run lint && rollup --environment BUILD:production -c rollup.config.js",
"build-dev": "rollup -c rollup.config.js",
"dev": "rollup -w -c rollup.config.js",
"build": "npm run lint && cd ../reshader.gl && npm run build && cd ../gl && rollup --environment BUILD:production -c rollup.config.js",
"build-dev": "cd ../reshader.gl && npm run build-dev && cd ../gl && rollup -c rollup.config.js",
"dev": "cd ../reshader.gl && npm run build-dev && cd ../gl && rollup -w -c rollup.config.js",
"test": "echo \"Error: no test specified\" && exit 1",

@@ -30,4 +30,4 @@ "prepare": "npm run build",

"dependencies": {
"@maptalks/reshader.gl": "^0.1.0",
"@maptalks/fusiongl": "^0.1.0",
"@maptalks/reshader.gl": "^0.1.4",
"gl-matrix": "^2.6.1",

@@ -46,5 +46,5 @@ "regl": "^1.3.1"

"rollup-plugin-node-resolve": "^4.0.0",
"rollup-plugin-uglify": "^4.0.0",
"rollup-plugin-terser": "^4.0.1"
"rollup-plugin-terser": "^4.0.1",
"rollup-plugin-uglify": "^4.0.0"
}
}

Sorry, the diff of this file is too big to display