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

@maptalks/video-layer

Package Overview
Dependencies
Maintainers
1
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@maptalks/video-layer - npm Package Compare versions

Comparing version
0.124.3
to
0.124.4
+2
-2
dist/maptalks.video.es.js
/*!
* @maptalks/video-layer v0.124.3
* @maptalks/video-layer v0.124.4
* LICENSE : UNLICENSED

@@ -11,3 +11,3 @@ * (c) 2016-2026 maptalks.org

* https://github.com/mrdoob/three.js
*/for(var p=[],u=0;u<6;u++)p[u]=[];var g=[];function _(e,t,r){var i,o,s,n,a,d,l,h,c,u,_,f,y,w,S,x,M;o=(i=e)[0],s=i[1],n=i[2],a=i[3],d=i[4],l=i[5],h=i[6],c=i[7],u=i[8],_=i[9],f=i[10],y=i[11],w=i[12],S=i[13],x=i[14],M=i[15],m(p[0],a-o,c-d,y-u,M-w),m(p[1],a+o,c+d,y+u,M+w),m(p[2],a+s,c+l,y+_,M+S),m(p[3],a-s,c-l,y-_,M-S),m(p[4],a-n,c-h,y-f,M-x),m(p[5],a+n,c+h,y+f,M+x);for(var C=0;C<6;C++){var b=p[C];if(g[0]=b[0]>0?t[1][0]:t[0][0],g[1]=b[1]>0?t[1][1]:t[0][1],g[2]=b[2]>0?t[1][2]:t[0][2],v(b,g)<0)return!1}return!0}function m(e,t,r,i,o){var s=1/Math.sqrt(t*t+r*r+i*i);return e[0]=t*s,e[1]=r*s,e[2]=i*s,e[3]=o*s,e}function v(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]}const f={name:"video-layer",vert:"attribute vec3 aPosition;\nattribute vec2 aTexCoord;\nuniform mat4 projViewModelMatrix;\nuniform mat4 positionMatrix;\nuniform mat4 modelMatrix;\nvarying vec2 vTexCoords;\n#include <get_output>\nvoid main()\n{\n mat4 localPositionMatrix = getPositionMatrix();\n vec4 localPosition = getPosition(aPosition);\n gl_Position = projViewModelMatrix * localPositionMatrix * localPosition;\n vTexCoords = aTexCoord;\n}",frag:"precision mediump float;\nuniform sampler2D videoTexture;\nuniform float opacity;\nvarying vec2 vTexCoords;\nvoid main() {\n vec4 color = texture2D(videoTexture, vTexCoords);\n gl_FragColor = color * opacity;\n}",uniforms:[{name:"projViewModelMatrix",type:"function",fn:(e,t)=>h.multiply([],t.projViewMatrix,t.modelMatrix)},"texture","opacity"],positionAttribute:"POSITION",extraCommandProps:{depth:{enable:!0,func:"always"},cull:{enable:!1,face:"back"},frontFace:"cw",blend:{enable:!0,func:{src:"src alpha",dst:"one minus src alpha"},equation:"add"}}},y=[1,0,3,3,2,1];class w extends(a(e.renderer.LayerAbstractRenderer)){constructor(e){super(e),this._scenes={}}draw(e,t){this.prepareCanvas(),this._renderScene(t)}drawOnInteracting(e,t,r){this._renderScene(r)}needToRedraw(){return!0}hitDetect(){return!1}initContext(){super.initContext();const{regl:e,device:t,reglGL:r}=this.context;this.regl=e||t,this.gl=r,this.device=e||t,this._initShader(),this._initRenderer();const i=this.layer.getVideoSurfaces();for(let e=0;e<i.length;e++)this._createScene(i[e])}_createGLContext(e,t){const r=["webgl","experimental-webgl"];let i=null;for(let o=0;o<r.length;++o){try{i=e.getContext(r[o],t)}catch(e){}if(i)break}return i}_initRenderer(){const e=this.layer.getMap(),t=new d.Renderer(this.regl);this.renderer=t,this._uniforms={projMatrix:e.projMatrix,projViewMatrix:e.projViewMatrix,viewMatrix:e.viewMatrix,halton:[.2107,-.0202],uHalton:[.2107,-.0202],uCameraPosition:e.cameraPosition,cameraPosition:e.cameraPosition,globalTexSize:[e.width,e.height]}}_getRegl(){return this.regl}_initShader(){this.viewport={x:0,y:0,width:()=>this.canvas?this.canvas.width:1,height:()=>this.canvas?this.canvas.height:1},this._updateShader()}_updateShader(){this._shader&&this._shader.dispose(),f.wgslVert=l("layer_video_video_vert"),f.wgslFrag=l("layer_video_video_frag"),this.layer.options.showTopAlways?(f.extraCommandProps.depth.mask=!1,f.extraCommandProps.depth.range=[0,0]):(delete f.extraCommandProps.depth.mask,delete f.extraCommandProps.depth.range),f.extraCommandProps.cull.enable=!this.layer.options.doubleSide,this._shader=new d.MeshShader(f)}_createScene(e){const t=this.device.texture(),r=new d.Material({videoTexture:t,opacity:1}),i=e.getCoordinates(),{worldCenter:o,points:s}=this._transformCoordToWorld(i),n=this._createGeometry(s),a=new d.Mesh(n,r);this._updateMatrix(a,o);const l=new d.Scene(a),h=e._getVideoId();this._scenes[h]=l}_updateCoordinates(e){const t=e._getVideoId(),r=this._scenes[t].getMeshes()[0],i=e.getCoordinates();r.geometry.dispose();const{worldCenter:o,points:s}=this._transformCoordToWorld(i),n=this._createGeometry(s);r.geometry=n,this._updateMatrix(r,o)}_renderScene(e){const t=this.layer.getVideoSurfaces().filter((e=>e.isVisible()));if(!t.length)return;const r=this._createSceneInFrustum(t);if(!r)return;let i=null;e&&(i=e.renderTarget&&e.renderTarget.fbo),this.renderer.render(this._shader,this._uniforms,r,i)}_createGeometry(e){const t=new d.Geometry({POSITION:new Float32Array(e),TEXCOORD:new Float32Array([0,0,1,0,1,1,0,1])},new Uint16Array(y),0,{primitive:"triangles",positionAttribute:"POSITION",uv0Attribute:"TEXCOORD",normalAttribute:"NORMAL",positionSize:3});return t.generateBuffers(this.device),t}_transformCoordToWorld(t){let r=[];const i=this.getMap(),o=new e.Polygon(t).getCenter(),s=S(i,o,0);return this._worldCenter=s,i&&t.forEach((t=>{const o=new e.Coordinate(t[0],t[1]),n=i.altitudeToPoint(t[2]||0,i.getGLRes()),a=S(i,o,n);a[0]=a[0]-s[0],a[1]=a[1]-s[1],r=r.concat(a)})),{worldCenter:s,points:r}}_createSceneInFrustum(e){const t=[],r=this.layer.getMap();for(let i=0;i<e.length;i++){const o=e[i],s=this._scenes[o._getVideoId()];if(!s)continue;const n=s.getMeshes();for(let e=0;e<n.length;e++){const i=n[e],s=i.getMaterial(),a=s.get("videoTexture");a&&o._canDrawing()&&(a.update?a.update({data:o.video}):a(o.video),s.set("opacity",o.getOpacity())),_(r.projViewMatrix,i.getBoundingBox())&&t.push(i)}}return t.length?new d.Scene(t):null}_updateMatrix(e,t){h.fromRotationTranslationScale(e.localTransform,c.fromEuler([],0,0,0),t,[1,1,1])}remove(){this._shader&&this._shader.dispose(),super.remove()}_deleteScene(e){const t=this._scenes[e];if(!t)return;t.getMeshes().forEach((e=>{e.geometry.dispose(),e.material&&e.material.dispose(),e.dispose()}))}}function S(e,t,r){if(!e)return null;const i=e.coordinateToPointAtRes(t,e.getGLRes());return[i.x,i.y,r]}class x extends(t(r(i))){constructor(e,t){super(t),this.setCoordinates(e),this._createVideo()}setCoordinates(e){this._coordinates=e}getCoordinates(){return this._coordinates}setVideo(e){this._videoState="stop",this.options.url=e,delete this.options.elementId,this._createVideo()}setElementId(e){this._videoState="stop",this.options.elementId=e,delete this.options.url,this._createVideo()}_createVideo(){this._videoState="stop";const e=this.options.url,t=this.options.elementId;let r=document.getElementById(t);if(e&&(r=document.createElement("video"),r.src=e),!r)throw new Error("there is no element or url setting for video mask");r.autoplay=!0,r.loop=!0,r.muted=!0,r.play(),r.addEventListener("playing",(()=>{this._videoState="playing",this.fire("playing",{state:this._videoState,url:e})})),r.addEventListener("pause",(()=>{this._videoState="pause",this.fire("pause",{state:this._videoState,url:e})})),r.addEventListener("error",(()=>{throw this._videoState="pause",this.fire("error",{state:this._videoState,url:e}),new Error("video resource load error")})),this.video=r}getVideo(){return this.video}_setVideoId(e){this._videoId=e}_getVideoId(){return this._videoId}addTo(e){if(this._layer)throw new Error("VideoSurface cannot be added to two or more layers at the same time.");return e.addSurfaces(this),this}show(){return this.options.visible=!0,this}hide(){return this.options.visible=!1,this}isVisible(){return this.options.visible}play(){this.video&&this.video.play()}pause(){this.video&&this.video.pause()}setAudio(e){this.video.muted=e}setOpacity(e){this.options.opacity=e}getOpacity(){return this.options.opacity}remove(){delete this.video;const e=this.getLayer();e&&e.removeVideoSurfaces(this),this.endEdit()}getLayer(){return this._layer}_canDrawing(){return"playing"===this._videoState}startEdit(){const e=this.getLayer();if(!e)return void console.warn("videosurface should be added to a map before edit");const t=e.getMap();if(!t)return void console.warn("videosurface should be added to a map before edit");if(this._clearEditHelper(),!this._editHelpLayer){const r=e.getId();this._editHelpLayer=new o(`internal_${r}_edit`).addTo(t)}const r=this.getCoordinates();this._editHelpPolygon=new s(r,{symbol:{lineColor:"#34495e",lineWidth:2,polygonFill:"rgb(135,196,240)",polygonOpacity:.1}}).addTo(this._editHelpLayer),this._editHelpPolygon.startEdit({newVertexHandleSymbol:{polygonFill:"rgba(0, 0, 0, 0)",polygonOpacity:0,markerType:"ellipse",markerWidth:1,markerHeight:1}}),this._editHelpPolygon.on("shapechange",(t=>{const r=t.target.getCoordinates()[0].slice(0,4).map((e=>[e.x,e.y,0]));this.setCoordinates(r);e.getRenderer()._updateCoordinates(this)}),this)}endEdit(){this._editHelpLayer&&(this._editHelpPolygon.endEdit(),this._editHelpPolygon.remove(),this._editHelpLayer.remove()),delete this._editHelpLayer,delete this._editHelpPolygon}_clearEditHelper(){this._editHelpLayer&&this._editHelpLayer.clear(),delete this._editHelpPolygon}}x.mergeOptions({opacity:1,visible:!0});class M extends n{constructor(e,t,r){!t||Array.isArray(t)||t instanceof x||(r=t,t=null),super(e,r),this._videoSurfaceMap={},this.videoId=0,this._videoSurfaceMap={},this.videoId=0,t&&this.addSurfaces(t)}addSurfaces(e){if(e)if(Array.isArray(e))e.forEach((e=>{this.addSurfaces(e)}));else{e._layer=this,this._videoSurfaceMap[this.videoId]=e,e._setVideoId(this.videoId);const t=this.getRenderer();t?t._getRegl()&&t._createScene(e):this.on("renderercreate",(t=>{t.renderer._getRegl()&&t.renderer._createScene(e)})),this.videoId++}}showTopAlways(e){this.options.showTopAlways=e;const t=this.getRenderer();t&&t._updateShader()}setDoubleSide(e){this.options.doubleSide=e;const t=this.getRenderer();t&&t._updateShader()}getVideoSurfaces(){const e=[];for(const t in this._videoSurfaceMap)e.push(this._videoSurfaceMap[t]);return e}removeVideoSurfaces(e){if(Array.isArray(e))e.forEach((e=>{this.removeVideoSurfaces(e)}));else{const t=e._getVideoId(),r=this.getRenderer();r&&r._deleteScene(t),delete this._videoSurfaceMap[t]}}remove(){this.clear(),super.remove()}clear(){const e=this.getVideoSurfaces();for(let t=0;t<e.length;t++)e[t].remove()}}M.mergeOptions({renderer:"gl",doubleBuffer:!1,glOptions:null,markerEvents:!0,forceRenderOnZooming:!0,forceRenderOnMoving:!0,forceRenderOnRotating:!0,showTopAlways:!0,doubleSide:!0}),M.registerJSONType("VideoLayer"),M.registerRenderer("gl",w),M.registerRenderer("gpu",w);export{M as VideoLayer,x as VideoSurface};"undefined"!=typeof console&&console.log("@maptalks/video-layer v0.124.3");
*/for(var p=[],u=0;u<6;u++)p[u]=[];var g=[];function _(e,t,r){var i,o,s,n,a,d,l,h,c,u,_,f,y,w,S,x,M;o=(i=e)[0],s=i[1],n=i[2],a=i[3],d=i[4],l=i[5],h=i[6],c=i[7],u=i[8],_=i[9],f=i[10],y=i[11],w=i[12],S=i[13],x=i[14],M=i[15],m(p[0],a-o,c-d,y-u,M-w),m(p[1],a+o,c+d,y+u,M+w),m(p[2],a+s,c+l,y+_,M+S),m(p[3],a-s,c-l,y-_,M-S),m(p[4],a-n,c-h,y-f,M-x),m(p[5],a+n,c+h,y+f,M+x);for(var C=0;C<6;C++){var b=p[C];if(g[0]=b[0]>0?t[1][0]:t[0][0],g[1]=b[1]>0?t[1][1]:t[0][1],g[2]=b[2]>0?t[1][2]:t[0][2],v(b,g)<0)return!1}return!0}function m(e,t,r,i,o){var s=1/Math.sqrt(t*t+r*r+i*i);return e[0]=t*s,e[1]=r*s,e[2]=i*s,e[3]=o*s,e}function v(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]}const f={name:"video-layer",vert:"attribute vec3 aPosition;\nattribute vec2 aTexCoord;\nuniform mat4 projViewModelMatrix;\nuniform mat4 positionMatrix;\nuniform mat4 modelMatrix;\nvarying vec2 vTexCoords;\n#include <get_output>\nvoid main()\n{\n mat4 localPositionMatrix = getPositionMatrix();\n vec4 localPosition = getPosition(aPosition);\n gl_Position = projViewModelMatrix * localPositionMatrix * localPosition;\n vTexCoords = aTexCoord;\n}",frag:"precision mediump float;\nuniform sampler2D videoTexture;\nuniform float opacity;\nvarying vec2 vTexCoords;\nvoid main() {\n vec4 color = texture2D(videoTexture, vTexCoords);\n gl_FragColor = color * opacity;\n}",uniforms:[{name:"projViewModelMatrix",type:"function",fn:(e,t)=>h.multiply([],t.projViewMatrix,t.modelMatrix)},"texture","opacity"],positionAttribute:"POSITION",extraCommandProps:{depth:{enable:!0,func:"always"},cull:{enable:!1,face:"back"},frontFace:"cw",blend:{enable:!0,func:{src:"src alpha",dst:"one minus src alpha"},equation:"add"}}},y=[1,0,3,3,2,1];class w extends(a(e.renderer.LayerAbstractRenderer)){constructor(e){super(e),this._scenes={}}draw(e,t){this.prepareCanvas(),this._renderScene(t)}drawOnInteracting(e,t,r){this._renderScene(r)}needToRedraw(){return!0}hitDetect(){return!1}initContext(){super.initContext();const{regl:e,device:t,reglGL:r}=this.context;this.regl=e||t,this.gl=r,this.device=e||t,this._initShader(),this._initRenderer();const i=this.layer.getVideoSurfaces();for(let e=0;e<i.length;e++)this._createScene(i[e])}_createGLContext(e,t){const r=["webgl","experimental-webgl"];let i=null;for(let o=0;o<r.length;++o){try{i=e.getContext(r[o],t)}catch(e){}if(i)break}return i}_initRenderer(){const e=this.layer.getMap(),t=new d.Renderer(this.regl);this.renderer=t,this._uniforms={projMatrix:e.projMatrix,projViewMatrix:e.projViewMatrix,viewMatrix:e.viewMatrix,halton:[.2107,-.0202],uHalton:[.2107,-.0202],uCameraPosition:e.cameraPosition,cameraPosition:e.cameraPosition,globalTexSize:[e.width,e.height]}}_getRegl(){return this.regl}_initShader(){this.viewport={x:0,y:0,width:()=>this.canvas?this.canvas.width:1,height:()=>this.canvas?this.canvas.height:1},this._updateShader()}_updateShader(){this._shader&&this._shader.dispose(),f.wgslVert=l("layer_video_video_vert"),f.wgslFrag=l("layer_video_video_frag"),this.layer.options.showTopAlways?(f.extraCommandProps.depth.mask=!1,f.extraCommandProps.depth.range=[0,0]):(delete f.extraCommandProps.depth.mask,delete f.extraCommandProps.depth.range),f.extraCommandProps.cull.enable=!this.layer.options.doubleSide,this._shader=new d.MeshShader(f)}_createScene(e){const t=this.device.texture(),r=new d.Material({videoTexture:t,opacity:1}),i=e.getCoordinates(),{worldCenter:o,points:s}=this._transformCoordToWorld(i),n=this._createGeometry(s),a=new d.Mesh(n,r);this._updateMatrix(a,o);const l=new d.Scene(a),h=e._getVideoId();this._scenes[h]=l}_updateCoordinates(e){const t=e._getVideoId(),r=this._scenes[t].getMeshes()[0],i=e.getCoordinates();r.geometry.dispose();const{worldCenter:o,points:s}=this._transformCoordToWorld(i),n=this._createGeometry(s);r.geometry=n,this._updateMatrix(r,o)}_renderScene(e){const t=this.layer.getVideoSurfaces().filter((e=>e.isVisible()));if(!t.length)return;const r=this._createSceneInFrustum(t);if(!r)return;let i=null;e&&(i=e.renderTarget&&e.renderTarget.fbo),this.renderer.render(this._shader,this._uniforms,r,i)}_createGeometry(e){const t=new d.Geometry({POSITION:new Float32Array(e),TEXCOORD:new Float32Array([0,0,1,0,1,1,0,1])},new Uint16Array(y),0,{primitive:"triangles",positionAttribute:"POSITION",uv0Attribute:"TEXCOORD",normalAttribute:"NORMAL",positionSize:3});return t.generateBuffers(this.device),t}_transformCoordToWorld(t){let r=[];const i=this.getMap(),o=new e.Polygon(t).getCenter(),s=S(i,o,0);return this._worldCenter=s,i&&t.forEach((t=>{const o=new e.Coordinate(t[0],t[1]),n=i.altitudeToPoint(t[2]||0,i.getGLRes()),a=S(i,o,n);a[0]=a[0]-s[0],a[1]=a[1]-s[1],r=r.concat(a)})),{worldCenter:s,points:r}}_createSceneInFrustum(e){const t=[],r=this.layer.getMap();for(let i=0;i<e.length;i++){const o=e[i],s=this._scenes[o._getVideoId()];if(!s)continue;const n=s.getMeshes();for(let e=0;e<n.length;e++){const i=n[e],s=i.getMaterial(),a=s.get("videoTexture");a&&o._canDrawing()&&(a.update?a.update({data:o.video}):a(o.video),s.set("opacity",o.getOpacity())),_(r.projViewMatrix,i.getBoundingBox())&&t.push(i)}}return t.length?new d.Scene(t):null}_updateMatrix(e,t){h.fromRotationTranslationScale(e.localTransform,c.fromEuler([],0,0,0),t,[1,1,1])}remove(){this._shader&&this._shader.dispose(),super.remove()}_deleteScene(e){const t=this._scenes[e];if(!t)return;t.getMeshes().forEach((e=>{e.geometry.dispose(),e.material&&e.material.dispose(),e.dispose()}))}}function S(e,t,r){if(!e)return null;const i=e.coordinateToPointAtRes(t,e.getGLRes());return[i.x,i.y,r]}class x extends(t(r(i))){constructor(e,t){super(t),this.setCoordinates(e),this._createVideo()}setCoordinates(e){this._coordinates=e}getCoordinates(){return this._coordinates}setVideo(e){this._videoState="stop",this.options.url=e,delete this.options.elementId,this._createVideo()}setElementId(e){this._videoState="stop",this.options.elementId=e,delete this.options.url,this._createVideo()}_createVideo(){this._videoState="stop";const e=this.options.url,t=this.options.elementId;let r=document.getElementById(t);if(e&&(r=document.createElement("video"),r.src=e),!r)throw new Error("there is no element or url setting for video mask");r.autoplay=!0,r.loop=!0,r.muted=!0,r.play(),r.addEventListener("playing",(()=>{this._videoState="playing",this.fire("playing",{state:this._videoState,url:e})})),r.addEventListener("pause",(()=>{this._videoState="pause",this.fire("pause",{state:this._videoState,url:e})})),r.addEventListener("error",(()=>{throw this._videoState="pause",this.fire("error",{state:this._videoState,url:e}),new Error("video resource load error")})),this.video=r}getVideo(){return this.video}_setVideoId(e){this._videoId=e}_getVideoId(){return this._videoId}addTo(e){if(this._layer)throw new Error("VideoSurface cannot be added to two or more layers at the same time.");return e.addSurfaces(this),this}show(){return this.options.visible=!0,this}hide(){return this.options.visible=!1,this}isVisible(){return this.options.visible}play(){this.video&&this.video.play()}pause(){this.video&&this.video.pause()}setAudio(e){this.video.muted=e}setOpacity(e){this.options.opacity=e}getOpacity(){return this.options.opacity}remove(){delete this.video;const e=this.getLayer();e&&e.removeVideoSurfaces(this),this.endEdit()}getLayer(){return this._layer}_canDrawing(){return"playing"===this._videoState}startEdit(){const e=this.getLayer();if(!e)return void console.warn("videosurface should be added to a map before edit");const t=e.getMap();if(!t)return void console.warn("videosurface should be added to a map before edit");if(this._clearEditHelper(),!this._editHelpLayer){const r=e.getId();this._editHelpLayer=new o(`internal_${r}_edit`).addTo(t)}const r=this.getCoordinates();this._editHelpPolygon=new s(r,{symbol:{lineColor:"#34495e",lineWidth:2,polygonFill:"rgb(135,196,240)",polygonOpacity:.1}}).addTo(this._editHelpLayer),this._editHelpPolygon.startEdit({newVertexHandleSymbol:{polygonFill:"rgba(0, 0, 0, 0)",polygonOpacity:0,markerType:"ellipse",markerWidth:1,markerHeight:1}}),this._editHelpPolygon.on("shapechange",(t=>{const r=t.target.getCoordinates()[0].slice(0,4).map((e=>[e.x,e.y,0]));this.setCoordinates(r);e.getRenderer()._updateCoordinates(this)}),this)}endEdit(){this._editHelpLayer&&(this._editHelpPolygon.endEdit(),this._editHelpPolygon.remove(),this._editHelpLayer.remove()),delete this._editHelpLayer,delete this._editHelpPolygon}_clearEditHelper(){this._editHelpLayer&&this._editHelpLayer.clear(),delete this._editHelpPolygon}}x.mergeOptions({opacity:1,visible:!0});class M extends n{constructor(e,t,r){!t||Array.isArray(t)||t instanceof x||(r=t,t=null),super(e,r),this._videoSurfaceMap={},this.videoId=0,this._videoSurfaceMap={},this.videoId=0,t&&this.addSurfaces(t)}addSurfaces(e){if(e)if(Array.isArray(e))e.forEach((e=>{this.addSurfaces(e)}));else{e._layer=this,this._videoSurfaceMap[this.videoId]=e,e._setVideoId(this.videoId);const t=this.getRenderer();t?t._getRegl()&&t._createScene(e):this.on("renderercreate",(t=>{t.renderer._getRegl()&&t.renderer._createScene(e)})),this.videoId++}}showTopAlways(e){this.options.showTopAlways=e;const t=this.getRenderer();t&&t._updateShader()}setDoubleSide(e){this.options.doubleSide=e;const t=this.getRenderer();t&&t._updateShader()}getVideoSurfaces(){const e=[];for(const t in this._videoSurfaceMap)e.push(this._videoSurfaceMap[t]);return e}removeVideoSurfaces(e){if(Array.isArray(e))e.forEach((e=>{this.removeVideoSurfaces(e)}));else{const t=e._getVideoId(),r=this.getRenderer();r&&r._deleteScene(t),delete this._videoSurfaceMap[t]}}remove(){this.clear(),super.remove()}clear(){const e=this.getVideoSurfaces();for(let t=0;t<e.length;t++)e[t].remove()}}M.mergeOptions({renderer:"gl",doubleBuffer:!1,glOptions:null,markerEvents:!0,forceRenderOnZooming:!0,forceRenderOnMoving:!0,forceRenderOnRotating:!0,showTopAlways:!0,doubleSide:!0}),M.registerJSONType("VideoLayer"),M.registerRenderer("gl",w),M.registerRenderer("gpu",w);export{M as VideoLayer,x as VideoSurface};"undefined"!=typeof console&&console.log("@maptalks/video-layer v0.124.4");
//# sourceMappingURL=maptalks.video.es.js.map
/*!
* @maptalks/video-layer v0.124.3
* @maptalks/video-layer v0.124.4
* LICENSE : UNLICENSED

@@ -11,3 +11,3 @@ * (c) 2016-2026 maptalks.org

* https://github.com/mrdoob/three.js
*/;a<6;a++)s[a]=[];var n=[];function d(e,t,r){var i,o,a,d,c,p,u,g,f,m,_,v,y,S,w,x,b;o=(i=e)[0],a=i[1],d=i[2],c=i[3],p=i[4],u=i[5],g=i[6],f=i[7],m=i[8],_=i[9],v=i[10],y=i[11],S=i[12],w=i[13],x=i[14],b=i[15],l(s[0],c-o,f-p,y-m,b-S),l(s[1],c+o,f+p,y+m,b+S),l(s[2],c+a,f+u,y+_,b+w),l(s[3],c-a,f-u,y-_,b-w),l(s[4],c-d,f-g,y-v,b-x),l(s[5],c+d,f+g,y+v,b+x);for(var C=0;C<6;C++){var M=s[C];if(n[0]=M[0]>0?t[1][0]:t[0][0],n[1]=M[1]>0?t[1][1]:t[0][1],n[2]=M[2]>0?t[1][2]:t[0][2],h(M,n)<0)return!1}return!0}function l(e,t,r,i,o){var s=1/Math.sqrt(t*t+r*r+i*i);return e[0]=t*s,e[1]=r*s,e[2]=i*s,e[3]=o*s,e}function h(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]}const c={name:"video-layer",vert:"attribute vec3 aPosition;\nattribute vec2 aTexCoord;\nuniform mat4 projViewModelMatrix;\nuniform mat4 positionMatrix;\nuniform mat4 modelMatrix;\nvarying vec2 vTexCoords;\n#include <get_output>\nvoid main()\n{\n mat4 localPositionMatrix = getPositionMatrix();\n vec4 localPosition = getPosition(aPosition);\n gl_Position = projViewModelMatrix * localPositionMatrix * localPosition;\n vTexCoords = aTexCoord;\n}",frag:"precision mediump float;\nuniform sampler2D videoTexture;\nuniform float opacity;\nvarying vec2 vTexCoords;\nvoid main() {\n vec4 color = texture2D(videoTexture, vTexCoords);\n gl_FragColor = color * opacity;\n}",uniforms:[{name:"projViewModelMatrix",type:"function",fn:(e,t)=>r.mat4.multiply([],t.projViewMatrix,t.modelMatrix)},"texture","opacity"],positionAttribute:"POSITION",extraCommandProps:{depth:{enable:!0,func:"always"},cull:{enable:!1,face:"back"},frontFace:"cw",blend:{enable:!0,func:{src:"src alpha",dst:"one minus src alpha"},equation:"add"}}},p=[1,0,3,3,2,1];class u extends(r.CanvasCompatible(o.renderer.LayerAbstractRenderer)){constructor(e){super(e),this._scenes={}}draw(e,t){this.prepareCanvas(),this._renderScene(t)}drawOnInteracting(e,t,r){this._renderScene(r)}needToRedraw(){return!0}hitDetect(){return!1}initContext(){super.initContext();const{regl:e,device:t,reglGL:r}=this.context;this.regl=e||t,this.gl=r,this.device=e||t,this._initShader(),this._initRenderer();const i=this.layer.getVideoSurfaces();for(let e=0;e<i.length;e++)this._createScene(i[e])}_createGLContext(e,t){const r=["webgl","experimental-webgl"];let i=null;for(let o=0;o<r.length;++o){try{i=e.getContext(r[o],t)}catch(e){}if(i)break}return i}_initRenderer(){const e=this.layer.getMap(),t=new r.reshader.Renderer(this.regl);this.renderer=t,this._uniforms={"projMatrix":e.projMatrix,"projViewMatrix":e.projViewMatrix,"viewMatrix":e.viewMatrix,"halton":[.2107,-.0202],"uHalton":[.2107,-.0202],"uCameraPosition":e.cameraPosition,"cameraPosition":e.cameraPosition,"globalTexSize":[e.width,e.height]}}_getRegl(){return this.regl}_initShader(){this.viewport={x:0,y:0,width:()=>this.canvas?this.canvas.width:1,height:()=>this.canvas?this.canvas.height:1},this._updateShader()}_updateShader(){this._shader&&this._shader.dispose(),c.wgslVert=r.getWGSLSource("layer_video_video_vert"),c.wgslFrag=r.getWGSLSource("layer_video_video_frag"),this.layer.options.showTopAlways?(c.extraCommandProps.depth.mask=!1,c.extraCommandProps.depth.range=[0,0]):(delete c.extraCommandProps.depth.mask,delete c.extraCommandProps.depth.range),c.extraCommandProps.cull.enable=!this.layer.options.doubleSide,this._shader=new r.reshader.MeshShader(c)}_createScene(e){const t=this.device.texture(),i=new r.reshader.Material({videoTexture:t,opacity:1}),o=e.getCoordinates(),{worldCenter:s,points:a}=this._transformCoordToWorld(o),n=this._createGeometry(a),d=new r.reshader.Mesh(n,i);this._updateMatrix(d,s);const l=new r.reshader.Scene(d),h=e._getVideoId();this._scenes[h]=l}_updateCoordinates(e){const t=e._getVideoId(),r=this._scenes[t].getMeshes()[0],i=e.getCoordinates();r.geometry.dispose();const{worldCenter:o,points:s}=this._transformCoordToWorld(i),a=this._createGeometry(s);r.geometry=a,this._updateMatrix(r,o)}_renderScene(e){const t=this.layer.getVideoSurfaces().filter((e=>e.isVisible()));if(!t.length)return;const r=this._createSceneInFrustum(t);if(!r)return;let i=null;e&&(i=e.renderTarget&&e.renderTarget.fbo),this.renderer.render(this._shader,this._uniforms,r,i)}_createGeometry(e){const t=new r.reshader.Geometry({POSITION:new Float32Array(e),TEXCOORD:new Float32Array([0,0,1,0,1,1,0,1])},new Uint16Array(p),0,{primitive:"triangles",positionAttribute:"POSITION",uv0Attribute:"TEXCOORD",normalAttribute:"NORMAL",positionSize:3});return t.generateBuffers(this.device),t}_transformCoordToWorld(e){let t=[];const r=this.getMap(),i=new o.Polygon(e).getCenter(),s=g(r,i,0);return this._worldCenter=s,r&&e.forEach((e=>{const i=new o.Coordinate(e[0],e[1]),a=r.altitudeToPoint(e[2]||0,r.getGLRes()),n=g(r,i,a);n[0]=n[0]-s[0],n[1]=n[1]-s[1],t=t.concat(n)})),{worldCenter:s,points:t}}_createSceneInFrustum(e){const t=[],i=this.layer.getMap();for(let r=0;r<e.length;r++){const o=e[r],s=this._scenes[o._getVideoId()];if(!s)continue;const a=s.getMeshes();for(let e=0;e<a.length;e++){const r=a[e],s=r.getMaterial(),n=s.get("videoTexture");n&&o._canDrawing()&&(n.update?n.update({data:o.video}):n(o.video),s.set("opacity",o.getOpacity())),d(i.projViewMatrix,r.getBoundingBox())&&t.push(r)}}return t.length?new r.reshader.Scene(t):null}_updateMatrix(e,t){r.mat4.fromRotationTranslationScale(e.localTransform,r.quat.fromEuler([],0,0,0),t,[1,1,1])}remove(){this._shader&&this._shader.dispose(),super.remove()}_deleteScene(e){const t=this._scenes[e];if(!t)return;t.getMeshes().forEach((e=>{e.geometry.dispose(),e.material&&e.material.dispose(),e.dispose()}))}}function g(e,t,r){if(!e)return null;const i=e.coordinateToPointAtRes(t,e.getGLRes());return[i.x,i.y,r]}class f extends(t.Eventable(t.Handlerable(t.Class))){constructor(e,t){super(t),this.setCoordinates(e),this._createVideo()}setCoordinates(e){this._coordinates=e}getCoordinates(){return this._coordinates}setVideo(e){this._videoState="stop",this.options.url=e,delete this.options.elementId,this._createVideo()}setElementId(e){this._videoState="stop",this.options.elementId=e,delete this.options.url,this._createVideo()}_createVideo(){this._videoState="stop";const e=this.options.url,t=this.options.elementId;let r=document.getElementById(t);if(e&&(r=document.createElement("video"),r.src=e),!r)throw new Error("there is no element or url setting for video mask");r.autoplay=!0,r.loop=!0,r.muted=!0,r.play(),r.addEventListener("playing",(()=>{this._videoState="playing",this.fire("playing",{state:this._videoState,url:e})})),r.addEventListener("pause",(()=>{this._videoState="pause",this.fire("pause",{state:this._videoState,url:e})})),r.addEventListener("error",(()=>{throw this._videoState="pause",this.fire("error",{state:this._videoState,url:e}),new Error("video resource load error")})),this.video=r}getVideo(){return this.video}_setVideoId(e){this._videoId=e}_getVideoId(){return this._videoId}addTo(e){if(this._layer)throw new Error("VideoSurface cannot be added to two or more layers at the same time.");return e.addSurfaces(this),this}show(){return this.options.visible=!0,this}hide(){return this.options.visible=!1,this}isVisible(){return this.options.visible}play(){this.video&&this.video.play()}pause(){this.video&&this.video.pause()}setAudio(e){this.video.muted=e}setOpacity(e){this.options.opacity=e}getOpacity(){return this.options.opacity}remove(){delete this.video;const e=this.getLayer();e&&e.removeVideoSurfaces(this),this.endEdit()}getLayer(){return this._layer}_canDrawing(){return"playing"===this._videoState}startEdit(){const e=this.getLayer();if(!e)return void console.warn("videosurface should be added to a map before edit");const r=e.getMap();if(!r)return void console.warn("videosurface should be added to a map before edit");if(this._clearEditHelper(),!this._editHelpLayer){const i=e.getId();this._editHelpLayer=new t.DrawToolLayer(`internal_${i}_edit`).addTo(r)}const i=this.getCoordinates();this._editHelpPolygon=new t.Polygon(i,{symbol:{lineColor:"#34495e",lineWidth:2,polygonFill:"rgb(135,196,240)",polygonOpacity:.1}}).addTo(this._editHelpLayer),this._editHelpPolygon.startEdit({newVertexHandleSymbol:{polygonFill:"rgba(0, 0, 0, 0)",polygonOpacity:0,markerType:"ellipse",markerWidth:1,markerHeight:1}}),this._editHelpPolygon.on("shapechange",(t=>{const r=t.target.getCoordinates()[0].slice(0,4).map((e=>[e.x,e.y,0]));this.setCoordinates(r);e.getRenderer()._updateCoordinates(this)}),this)}endEdit(){this._editHelpLayer&&(this._editHelpPolygon.endEdit(),this._editHelpPolygon.remove(),this._editHelpLayer.remove()),delete this._editHelpLayer,delete this._editHelpPolygon}_clearEditHelper(){this._editHelpLayer&&this._editHelpLayer.clear(),delete this._editHelpPolygon}}f.mergeOptions({opacity:1,visible:!0});class m extends t.Layer{constructor(e,t,r){!t||Array.isArray(t)||t instanceof f||(r=t,t=null),super(e,r),this._videoSurfaceMap={},this.videoId=0,this._videoSurfaceMap={},this.videoId=0,t&&this.addSurfaces(t)}addSurfaces(e){if(e)if(Array.isArray(e))e.forEach((e=>{this.addSurfaces(e)}));else{e._layer=this,this._videoSurfaceMap[this.videoId]=e,e._setVideoId(this.videoId);const t=this.getRenderer();t?t._getRegl()&&t._createScene(e):this.on("renderercreate",(t=>{t.renderer._getRegl()&&t.renderer._createScene(e)})),this.videoId++}}showTopAlways(e){this.options.showTopAlways=e;const t=this.getRenderer();t&&t._updateShader()}setDoubleSide(e){this.options.doubleSide=e;const t=this.getRenderer();t&&t._updateShader()}getVideoSurfaces(){const e=[];for(const t in this._videoSurfaceMap)e.push(this._videoSurfaceMap[t]);return e}removeVideoSurfaces(e){if(Array.isArray(e))e.forEach((e=>{this.removeVideoSurfaces(e)}));else{const t=e._getVideoId(),r=this.getRenderer();r&&r._deleteScene(t),delete this._videoSurfaceMap[t]}}remove(){this.clear(),super.remove()}clear(){const e=this.getVideoSurfaces();for(let t=0;t<e.length;t++)e[t].remove()}}m.mergeOptions({renderer:"gl",doubleBuffer:!1,glOptions:null,markerEvents:!0,forceRenderOnZooming:!0,forceRenderOnMoving:!0,forceRenderOnRotating:!0,showTopAlways:!0,doubleSide:!0}),m.registerJSONType("VideoLayer"),m.registerRenderer("gl",u),m.registerRenderer("gpu",u),e.VideoLayer=m,e.VideoSurface=f,"undefined"!=typeof console&&console.log("@maptalks/video-layer v0.124.3")}));
*/;a<6;a++)s[a]=[];var n=[];function d(e,t,r){var i,o,a,d,c,p,u,g,f,m,_,v,y,S,w,x,b;o=(i=e)[0],a=i[1],d=i[2],c=i[3],p=i[4],u=i[5],g=i[6],f=i[7],m=i[8],_=i[9],v=i[10],y=i[11],S=i[12],w=i[13],x=i[14],b=i[15],l(s[0],c-o,f-p,y-m,b-S),l(s[1],c+o,f+p,y+m,b+S),l(s[2],c+a,f+u,y+_,b+w),l(s[3],c-a,f-u,y-_,b-w),l(s[4],c-d,f-g,y-v,b-x),l(s[5],c+d,f+g,y+v,b+x);for(var C=0;C<6;C++){var M=s[C];if(n[0]=M[0]>0?t[1][0]:t[0][0],n[1]=M[1]>0?t[1][1]:t[0][1],n[2]=M[2]>0?t[1][2]:t[0][2],h(M,n)<0)return!1}return!0}function l(e,t,r,i,o){var s=1/Math.sqrt(t*t+r*r+i*i);return e[0]=t*s,e[1]=r*s,e[2]=i*s,e[3]=o*s,e}function h(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]}const c={name:"video-layer",vert:"attribute vec3 aPosition;\nattribute vec2 aTexCoord;\nuniform mat4 projViewModelMatrix;\nuniform mat4 positionMatrix;\nuniform mat4 modelMatrix;\nvarying vec2 vTexCoords;\n#include <get_output>\nvoid main()\n{\n mat4 localPositionMatrix = getPositionMatrix();\n vec4 localPosition = getPosition(aPosition);\n gl_Position = projViewModelMatrix * localPositionMatrix * localPosition;\n vTexCoords = aTexCoord;\n}",frag:"precision mediump float;\nuniform sampler2D videoTexture;\nuniform float opacity;\nvarying vec2 vTexCoords;\nvoid main() {\n vec4 color = texture2D(videoTexture, vTexCoords);\n gl_FragColor = color * opacity;\n}",uniforms:[{name:"projViewModelMatrix",type:"function",fn:(e,t)=>r.mat4.multiply([],t.projViewMatrix,t.modelMatrix)},"texture","opacity"],positionAttribute:"POSITION",extraCommandProps:{depth:{enable:!0,func:"always"},cull:{enable:!1,face:"back"},frontFace:"cw",blend:{enable:!0,func:{src:"src alpha",dst:"one minus src alpha"},equation:"add"}}},p=[1,0,3,3,2,1];class u extends(r.CanvasCompatible(o.renderer.LayerAbstractRenderer)){constructor(e){super(e),this._scenes={}}draw(e,t){this.prepareCanvas(),this._renderScene(t)}drawOnInteracting(e,t,r){this._renderScene(r)}needToRedraw(){return!0}hitDetect(){return!1}initContext(){super.initContext();const{regl:e,device:t,reglGL:r}=this.context;this.regl=e||t,this.gl=r,this.device=e||t,this._initShader(),this._initRenderer();const i=this.layer.getVideoSurfaces();for(let e=0;e<i.length;e++)this._createScene(i[e])}_createGLContext(e,t){const r=["webgl","experimental-webgl"];let i=null;for(let o=0;o<r.length;++o){try{i=e.getContext(r[o],t)}catch(e){}if(i)break}return i}_initRenderer(){const e=this.layer.getMap(),t=new r.reshader.Renderer(this.regl);this.renderer=t,this._uniforms={"projMatrix":e.projMatrix,"projViewMatrix":e.projViewMatrix,"viewMatrix":e.viewMatrix,"halton":[.2107,-.0202],"uHalton":[.2107,-.0202],"uCameraPosition":e.cameraPosition,"cameraPosition":e.cameraPosition,"globalTexSize":[e.width,e.height]}}_getRegl(){return this.regl}_initShader(){this.viewport={x:0,y:0,width:()=>this.canvas?this.canvas.width:1,height:()=>this.canvas?this.canvas.height:1},this._updateShader()}_updateShader(){this._shader&&this._shader.dispose(),c.wgslVert=r.getWGSLSource("layer_video_video_vert"),c.wgslFrag=r.getWGSLSource("layer_video_video_frag"),this.layer.options.showTopAlways?(c.extraCommandProps.depth.mask=!1,c.extraCommandProps.depth.range=[0,0]):(delete c.extraCommandProps.depth.mask,delete c.extraCommandProps.depth.range),c.extraCommandProps.cull.enable=!this.layer.options.doubleSide,this._shader=new r.reshader.MeshShader(c)}_createScene(e){const t=this.device.texture(),i=new r.reshader.Material({videoTexture:t,opacity:1}),o=e.getCoordinates(),{worldCenter:s,points:a}=this._transformCoordToWorld(o),n=this._createGeometry(a),d=new r.reshader.Mesh(n,i);this._updateMatrix(d,s);const l=new r.reshader.Scene(d),h=e._getVideoId();this._scenes[h]=l}_updateCoordinates(e){const t=e._getVideoId(),r=this._scenes[t].getMeshes()[0],i=e.getCoordinates();r.geometry.dispose();const{worldCenter:o,points:s}=this._transformCoordToWorld(i),a=this._createGeometry(s);r.geometry=a,this._updateMatrix(r,o)}_renderScene(e){const t=this.layer.getVideoSurfaces().filter((e=>e.isVisible()));if(!t.length)return;const r=this._createSceneInFrustum(t);if(!r)return;let i=null;e&&(i=e.renderTarget&&e.renderTarget.fbo),this.renderer.render(this._shader,this._uniforms,r,i)}_createGeometry(e){const t=new r.reshader.Geometry({POSITION:new Float32Array(e),TEXCOORD:new Float32Array([0,0,1,0,1,1,0,1])},new Uint16Array(p),0,{primitive:"triangles",positionAttribute:"POSITION",uv0Attribute:"TEXCOORD",normalAttribute:"NORMAL",positionSize:3});return t.generateBuffers(this.device),t}_transformCoordToWorld(e){let t=[];const r=this.getMap(),i=new o.Polygon(e).getCenter(),s=g(r,i,0);return this._worldCenter=s,r&&e.forEach((e=>{const i=new o.Coordinate(e[0],e[1]),a=r.altitudeToPoint(e[2]||0,r.getGLRes()),n=g(r,i,a);n[0]=n[0]-s[0],n[1]=n[1]-s[1],t=t.concat(n)})),{worldCenter:s,points:t}}_createSceneInFrustum(e){const t=[],i=this.layer.getMap();for(let r=0;r<e.length;r++){const o=e[r],s=this._scenes[o._getVideoId()];if(!s)continue;const a=s.getMeshes();for(let e=0;e<a.length;e++){const r=a[e],s=r.getMaterial(),n=s.get("videoTexture");n&&o._canDrawing()&&(n.update?n.update({data:o.video}):n(o.video),s.set("opacity",o.getOpacity())),d(i.projViewMatrix,r.getBoundingBox())&&t.push(r)}}return t.length?new r.reshader.Scene(t):null}_updateMatrix(e,t){r.mat4.fromRotationTranslationScale(e.localTransform,r.quat.fromEuler([],0,0,0),t,[1,1,1])}remove(){this._shader&&this._shader.dispose(),super.remove()}_deleteScene(e){const t=this._scenes[e];if(!t)return;t.getMeshes().forEach((e=>{e.geometry.dispose(),e.material&&e.material.dispose(),e.dispose()}))}}function g(e,t,r){if(!e)return null;const i=e.coordinateToPointAtRes(t,e.getGLRes());return[i.x,i.y,r]}class f extends(t.Eventable(t.Handlerable(t.Class))){constructor(e,t){super(t),this.setCoordinates(e),this._createVideo()}setCoordinates(e){this._coordinates=e}getCoordinates(){return this._coordinates}setVideo(e){this._videoState="stop",this.options.url=e,delete this.options.elementId,this._createVideo()}setElementId(e){this._videoState="stop",this.options.elementId=e,delete this.options.url,this._createVideo()}_createVideo(){this._videoState="stop";const e=this.options.url,t=this.options.elementId;let r=document.getElementById(t);if(e&&(r=document.createElement("video"),r.src=e),!r)throw new Error("there is no element or url setting for video mask");r.autoplay=!0,r.loop=!0,r.muted=!0,r.play(),r.addEventListener("playing",(()=>{this._videoState="playing",this.fire("playing",{state:this._videoState,url:e})})),r.addEventListener("pause",(()=>{this._videoState="pause",this.fire("pause",{state:this._videoState,url:e})})),r.addEventListener("error",(()=>{throw this._videoState="pause",this.fire("error",{state:this._videoState,url:e}),new Error("video resource load error")})),this.video=r}getVideo(){return this.video}_setVideoId(e){this._videoId=e}_getVideoId(){return this._videoId}addTo(e){if(this._layer)throw new Error("VideoSurface cannot be added to two or more layers at the same time.");return e.addSurfaces(this),this}show(){return this.options.visible=!0,this}hide(){return this.options.visible=!1,this}isVisible(){return this.options.visible}play(){this.video&&this.video.play()}pause(){this.video&&this.video.pause()}setAudio(e){this.video.muted=e}setOpacity(e){this.options.opacity=e}getOpacity(){return this.options.opacity}remove(){delete this.video;const e=this.getLayer();e&&e.removeVideoSurfaces(this),this.endEdit()}getLayer(){return this._layer}_canDrawing(){return"playing"===this._videoState}startEdit(){const e=this.getLayer();if(!e)return void console.warn("videosurface should be added to a map before edit");const r=e.getMap();if(!r)return void console.warn("videosurface should be added to a map before edit");if(this._clearEditHelper(),!this._editHelpLayer){const i=e.getId();this._editHelpLayer=new t.DrawToolLayer(`internal_${i}_edit`).addTo(r)}const i=this.getCoordinates();this._editHelpPolygon=new t.Polygon(i,{symbol:{lineColor:"#34495e",lineWidth:2,polygonFill:"rgb(135,196,240)",polygonOpacity:.1}}).addTo(this._editHelpLayer),this._editHelpPolygon.startEdit({newVertexHandleSymbol:{polygonFill:"rgba(0, 0, 0, 0)",polygonOpacity:0,markerType:"ellipse",markerWidth:1,markerHeight:1}}),this._editHelpPolygon.on("shapechange",(t=>{const r=t.target.getCoordinates()[0].slice(0,4).map((e=>[e.x,e.y,0]));this.setCoordinates(r);e.getRenderer()._updateCoordinates(this)}),this)}endEdit(){this._editHelpLayer&&(this._editHelpPolygon.endEdit(),this._editHelpPolygon.remove(),this._editHelpLayer.remove()),delete this._editHelpLayer,delete this._editHelpPolygon}_clearEditHelper(){this._editHelpLayer&&this._editHelpLayer.clear(),delete this._editHelpPolygon}}f.mergeOptions({opacity:1,visible:!0});class m extends t.Layer{constructor(e,t,r){!t||Array.isArray(t)||t instanceof f||(r=t,t=null),super(e,r),this._videoSurfaceMap={},this.videoId=0,this._videoSurfaceMap={},this.videoId=0,t&&this.addSurfaces(t)}addSurfaces(e){if(e)if(Array.isArray(e))e.forEach((e=>{this.addSurfaces(e)}));else{e._layer=this,this._videoSurfaceMap[this.videoId]=e,e._setVideoId(this.videoId);const t=this.getRenderer();t?t._getRegl()&&t._createScene(e):this.on("renderercreate",(t=>{t.renderer._getRegl()&&t.renderer._createScene(e)})),this.videoId++}}showTopAlways(e){this.options.showTopAlways=e;const t=this.getRenderer();t&&t._updateShader()}setDoubleSide(e){this.options.doubleSide=e;const t=this.getRenderer();t&&t._updateShader()}getVideoSurfaces(){const e=[];for(const t in this._videoSurfaceMap)e.push(this._videoSurfaceMap[t]);return e}removeVideoSurfaces(e){if(Array.isArray(e))e.forEach((e=>{this.removeVideoSurfaces(e)}));else{const t=e._getVideoId(),r=this.getRenderer();r&&r._deleteScene(t),delete this._videoSurfaceMap[t]}}remove(){this.clear(),super.remove()}clear(){const e=this.getVideoSurfaces();for(let t=0;t<e.length;t++)e[t].remove()}}m.mergeOptions({renderer:"gl",doubleBuffer:!1,glOptions:null,markerEvents:!0,forceRenderOnZooming:!0,forceRenderOnMoving:!0,forceRenderOnRotating:!0,showTopAlways:!0,doubleSide:!0}),m.registerJSONType("VideoLayer"),m.registerRenderer("gl",u),m.registerRenderer("gpu",u),e.VideoLayer=m,e.VideoSurface=f,"undefined"!=typeof console&&console.log("@maptalks/video-layer v0.124.4")}));
//# sourceMappingURL=maptalks.video.js.map
{
"name": "@maptalks/video-layer",
"version": "0.124.3",
"version": "0.124.4",
"description": "A maptalks Layer to render video",

@@ -36,4 +36,4 @@ "license": "UNLICENSED",

"rollup": "^4.17.2",
"@maptalks/gl": "0.124.3",
"@maptalks/gpu": "0.124.3",
"@maptalks/gl": "0.124.4",
"@maptalks/gpu": "0.124.4",
"maptalks": "1.12.1"

@@ -40,0 +40,0 @@ },