!function(x){x.un,x.uns;var e=x.static,l=x.class,a=x.getset,n=x.__newvec,u=laya.maths.Arith,_=laya.maths.Bezier,i=laya.resource.Bitmap,o=laya.utils.Browser,h=laya.utils.Byte,d=laya.utils.Color,v=(laya.filters.ColorFilter,x.Config),r=laya.resource.Context,b=(laya.events.Event,laya.filters.Filter),s=laya.display.Graphics,c=laya.resource.HTMLCanvas,f=(laya.utils.HTMLChar,laya.resource.HTMLImage),m=laya.resource.HTMLSubImage,y=(laya.utils.Handler,laya.net.Loader,laya.maths.Matrix),T=laya.maths.Point,A=laya.maths.Rectangle,p=laya.renders.Render,g=(laya.renders.RenderContext,laya.renders.RenderSprite),E=laya.resource.Resource,t=laya.resource.ResourceManager,S=laya.utils.RunDriver,w=laya.display.Sprite,R=laya.display.Stage,I=laya.utils.Stat,M=laya.utils.StringKey,C=(laya.display.css.Style,laya.system.System),L=laya.display.Text,P=laya.resource.Texture,D=(laya.display.css.TransformInfo,laya.net.URL,laya.utils.Utils),F=laya.utils.VectorGraphManager;laya.utils.WordText;x.interface("laya.webgl.shapes.IShape"),x.interface("laya.webgl.submit.ISubmit"),x.interface("laya.webgl.text.ICharSegment"),x.interface("laya.webgl.canvas.save.ISaveData"),x.interface("laya.webgl.resource.IMergeAtlasBitmap"),x.interface("laya.filters.IFilterActionGL","laya.filters.IFilterAction");var B=function(){function t(){}l(t,"laya.filters.webgl.FilterActionGL");var e=t.prototype;return x.imps(e,{"laya.filters.IFilterActionGL":!0}),e.setValue=function(t){},e.setValueMix=function(t){},e.apply3d=function(t,e,i,r,s){return null},e.apply=function(t){return null},a(0,e,"typeMix",function(){return 0}),t}(),N=(l(O,"laya.webgl.shader.ShaderValue"),O);function O(){}var V=function(){var r,s;function t(t,e,i){this._atlasID=0,this._width=0,this._height=0,this._texCount=0,this._rowInfo=null,this._cells=null,this._failSize=new s,void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this._cells=null,this._rowInfo=null,this._init(t,e),this._atlasID=i}l(t,"laya.webgl.atlas.AtlasGrid");var e=t.prototype;return e.getAltasID=function(){return this._atlasID},e.setAltasID=function(t){0<=t&&(this._atlasID=t)},e.addTex=function(t,e,i){var r=this._get(e,i);return 0==r.ret||(this._fill(r.x,r.y,e,i,t),this._texCount++),r},e._release=function(){null!=this._cells&&(this._cells.length=0,this._cells=null),this._rowInfo&&(this._rowInfo.length=0,this._rowInfo=null)},e._init=function(t,e){if(this._width=t,this._height=e,this._release(),0==this._width)return!1;this._cells=new Uint8Array(this._width*this._height*3),this._rowInfo=n(this._height);for(var i=0;i=this._failSize.width&&e>=this._failSize.height)return i;for(var r=-1,s=this._width,n=this._height,a=this._cells,h=0;h=i),this._rowInfo[h].spaceCount-=i;for(var l=0;l=a||this._atlaserArray.push(new Ut(this._gridNumX,this._gridNumY,this._width,this._height,g._sid_++));var m=this._atlaserArray[a],l=0,o=0,p=m.addTex(1,u,_);if(p.ret){l=p.x*this._gridSize+1,o=p.y*this._gridSize+1,i.lock=!0,m.addToAtlasTexture(i,l,o),m.addToAtlas(t,l,o),c=!0,this._curAtlasIndex=a;break}}if(c)break;this._atlaserArray.push(new Ut(this._gridNumX,this._gridNumY,this._width,this._height,g._sid_++)),this._needGC=!0,this.garbageCollection(),this._curAtlasIndex=this._atlaserArray.length-1}return c||console.log(">>>AtlasManager pushData error"),c},t.addToAtlas=function(t){laya.webgl.atlas.AtlasResourceManager.instance.pushData(t)},t.garbageCollection=function(){if(!0===this._needGC){for(var t=this._atlaserArray.length-this._maxAtlaserCount,e=0;e>>>altas garbageCollection ="+t),this._atlaserArray.splice(0,t),this._needGC=!1}return!0},t.freeAll=function(){for(var t=0,e=this._atlaserArray.length;t>16&255)/255,_=(o>>8&255)/255,c=(255&o)/255;t.push(r,s,u,_,c);for(var d=0;d>16&255)/255,p=(s>>8&255)/255,g=(255&s)/255,x=d.length/2,v=r,b=i/2,y=d[0],T=d[1],A=d[2],E=d[3],S=-(T-E),w=y-A,R=Math.sqrt(S*S+w*w);f.push(y-(S=S/R*b)+this.x,T-(w=w/R*b)+this.y,m,p,g,y+S+this.x,T+w+this.y,m,p,g);for(var I=1;I>16&255)/255,h=(t>>8&255)/255,l=(255&t)/255;s.splice(0,5);var o,u,_,c,d,f,m,p=s.length/5,g=r,x=i/2,v=s[0],b=s[1],y=s[5],T=s[6],A=-(b-T),E=v-y,S=Math.sqrt(A*A+E*E);n.push(v-(A=A/S*x),b-(E=E/S*x),a,h,l,v+A,b+E,a,h,l);for(var w=1;w>16&255)/255,u=(l>>8&255)/255,_=(255&l)/255;a.splice(0,5);s=[a[0],a[1]],t=[a[a.length-5],a[a.length-4]],l=t[0]+.5*(s[0]-t[0]),t=t[1]+.5*(s[1]-t[1]);a.unshift(l,t,0,0,0),a.push(l,t,0,0,0);var c,d,f,m,p,g,x,v=a.length/5,b=r,y=i/2,T=a[0],A=a[1],E=a[5],S=a[6],w=-(A-S),R=T-E,I=Math.sqrt(w*w+R*R);h.push(T-(w=w/I*y),A-(R=R/I*y),o,u,_,T+w,A+R,o,u,_);for(var M=1;M80*i){for(var c=r=t[0],d=s=t[1],f=i;fn.x?s.x>a.x?s:a:n.x>a.x?n:a).x,u=(s.y>n.y?s.y>a.y?s:a:n.y>a.y?n:a).y,_=at.zOrder(h,l,e,i,r),c=at.zOrder(o,u,e,i,r),d=t.nextZ;d&&d.z<=c;){if(d!==t.prev&&d!==t.next&&at.pointInTriangle(s.x,s.y,n.x,n.y,a.x,a.y,d.x,d.y)&&0<=at.area(d.prev,d,d.next))return!1;d=d.nextZ}for(d=t.prevZ;d&&d.z>=_;){if(d!==t.prev&&d!==t.next&&at.pointInTriangle(s.x,s.y,n.x,n.y,a.x,a.y,d.x,d.y)&&0<=at.area(d.prev,d,d.next))return!1;d=d.prevZ}return!0},at.cureLocalIntersections=function(t,e,i){var r=t;do{var s=r.prev,n=r.next.next}while(!at.equals(s,n)&&at.intersects(s,r,r.next,n)&&at.locallyInside(s,n)&&at.locallyInside(n,s)&&(e.push(s.i/i),e.push(r.i/i),e.push(n.i/i),at.removeNode(r),at.removeNode(r.next),r=t=n),(r=r.next)!==t);return r},at.splitEarcut=function(t,e,i,r,s,n){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&at.isValidDiagonal(a,h)){var l=at.splitPolygon(a,h),a=at.filterPoints(a,a.next),l=at.filterPoints(l,l.next);return at.earcutLinked(a,e,i,r,s,n),void at.earcutLinked(l,e,i,r,s,n)}h=h.next}}while((a=a.next)!==t)},at.eliminateHoles=function(t,e,i,r){for(var s,n,a=[],h=0,l=e.length;h=r.next.y&&r.next.y!==r.y){var h=r.x+(n-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(h<=s&&a=r.x&&r.x>=u&&s!==r.x&&at.pointInTriangle(n<_?s:a,n,u,_,n<_?a:s,n,r.x,r.y)&&((l=Math.abs(n-r.y)/(s-r.x))i.x)&&at.locallyInside(r,t)&&(i=r,c=l),r=r.next;return i},at.indexCurve=function(t,e,i,r){for(var s=t;null===s.z&&(s.z=at.zOrder(s.x,s.y,e,i,r)),s.prevZ=s.prev,s.nextZ=s.next,(s=s.next)!==t;);s.prevZ.nextZ=null,s.prevZ=null,at.sortLinked(s)},at.sortLinked=function(t){var e,i,r,s,n,a,h,l,o=1;do{for(i=t,n=t=null,a=0;i;){for(a++,r=i,e=h=0;en!=i.next.y>n&&i.next.y!==i.y&&s<(i.next.x-i.x)*(n-i.y)/(i.next.y-i.y)+i.x&&(r=!r),(i=i.next)!==t;);return r},at.splitPolygon=function(t,e){var i=new ht(t.i,t.x,t.y),r=new ht(e.i,e.x,e.y),s=t.next,n=e.prev;return(t.next=e).prev=t,(i.next=s).prev=i,(r.next=i).prev=r,(n.next=r).prev=n,r},at.insertNode=function(t,e,i,r){i=new ht(t,e,i);return r?(i.next=r.next,(i.prev=r).next.prev=i,r.next=i):(i.prev=i).next=i,i},at.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},at.signedArea=function(t,e,i,r){for(var s=0,n=e,a=i-r;nv.WebGLTextCacheCount&&((vt._textsCache={}).__length=0,vt._curPoolIndex=0),vt._textCachesPool[vt._curPoolIndex]?(g=vt._textsCache[p]=vt._textCachesPool[vt._curPoolIndex]).length=0:vt._textCachesPool[vt._curPoolIndex]=g=vt._textsCache[p]=[],vt._textsCache.__length++,vt._curPoolIndex++,vt._drawSlow(g,t,e,i,r,s,n,a,h,l,o,u,c,d,_)):vt._drawSlow(g,t,e,i,r,s,n,a,h,l,o,u,c,d,_)):(p=c+1e5*d,(g=e).changed||g.id!==p?(g.id=p,g.changed=!1,vt._drawSlow(g.save,t,e,i,r,s,n,a,h,l,o,u,c,d,_)):vt._drawFast(g.save,t,r,o,u)))},vt._charsTemp=null,vt._textCachesPool=[],vt._curPoolIndex=0,vt._charsCache={},vt._textsCache={},vt._drawValue=null,vt.d=[],vt._charSeg=null,vt.__init$=function(){function h(){}l(h,""),h.prototype.value=function(t,e,i,r,s,n,a){this.font=t,this.fillColor=e,this.borderColor=i,this.lineWidth=r,this.scaleX=s,this.scaleY=n,this.underLine=a;a=t.toString()+s+n+r+e+i+a;return this.txtID=h._keymap[a],this.txtID||(this.txtID=1e-7*++h._keymapCount,h._keymap[a]=this.txtID),this},h.clear=function(){h._keymap={},h._keymapCount=1},h._keymap={},h._keymapCount=1,ot=h},vt);function vt(){}var bt=function(){function s(t){this._index=0,this._size=14,this._italic=-2,s._cache2=s._cache2||[],this.setFont(t||"14px Arial")}l(s,"laya.webgl.text.FontInContext");var t=s.prototype;return t.setFont=function(t){var e=s._cache2[t];if(e)this._words=e[0],this._size=e[1];else{this._words=t.split(" ");for(var i=0,r=this._words.length;ie&&this._index--;break}this._text=null,this._italic=-2},t.copyTo=function(t){return t._text=this._text,t._size=this._size,t._index=this._index,t._words=this._words.slice(),t._italic=-2,t},t.toString=function(){return this._text||(this._text=this._words.join(" "))},a(0,t,"size",function(){return this._size},function(t){this._size=t,this._words[this._index]=t+"px",this._text=null}),s.create=function(t){var e=s._cache[t];return e=e||(s._cache[t]=new s(t))},s.EMPTY=new s,s._cache={},s._cache2=null,s}(),yt=(l(Tt,"laya.webgl.utils.CONST3D2D"),Tt.defaultMatrix4=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],Tt.defaultMinusYMatrix4=[1,0,0,0,0,-1,0,0,0,0,1,0,0,0,0,1],Tt.uniformMatrix3=[1,0,0,0,0,1,0,0,0,0,1,0],Tt._TMPARRAY=[],Tt._OFFSETX=0,Tt._OFFSETY=0,e(Tt,["BYTES_PE",function(){return this.BYTES_PE=Float32Array.BYTES_PER_ELEMENT},"BYTES_PIDX",function(){return this.BYTES_PIDX=Uint16Array.BYTES_PER_ELEMENT}]),Tt);function Tt(){}var At=(l(Et,"laya.webgl.utils.GlUtils"),Et.make2DProjection=function(t,e,i){return[2/t,0,0,0,0,-2/e,0,0,0,0,2/i,0,-1,1,0,1]},Et.fillIBQuadrangle=function(t,e){if(65535/4=6*e*2||Et.fillIBQuadrangle(t,e)},Et.mathCeilPowerOfTwo=function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},Et.fillQuadrangleImgVb=function(t,e,i,r,s,n,a,h){var l=16+(t._byteLength>>2);t.byteLength=l<<2;var o=t.getFloat32Array();o[2+(l-=16)]=s[0],o[3+l]=s[1],o[6+l]=s[2],o[7+l]=s[3],o[10+l]=s[4],o[11+l]=s[5],o[14+l]=s[6],o[15+l]=s[7];var u,_=n.a,c=n.b,d=n.c,f=n.d;return 1!==_||0!==c||0!==d||1!==f?(n.bTransform=!0,u=n.tx+a,s=n.ty+h,o[l]=(r[0]+e)*_+(r[1]+i)*d+u,o[1+l]=(r[0]+e)*c+(r[1]+i)*f+s,o[4+l]=(r[2]+e)*_+(r[3]+i)*d+u,o[5+l]=(r[2]+e)*c+(r[3]+i)*f+s,o[8+l]=(r[4]+e)*_+(r[5]+i)*d+u,o[9+l]=(r[4]+e)*c+(r[5]+i)*f+s,o[12+l]=(r[6]+e)*_+(r[7]+i)*d+u,o[13+l]=(r[6]+e)*c+(r[7]+i)*f+s):(n.bTransform=!1,e+=n.tx+a,i+=n.ty+h,o[l]=e+r[0],o[1+l]=i+r[1],o[4+l]=e+r[2],o[5+l]=i+r[3],o[8+l]=e+r[4],o[9+l]=i+r[5],o[12+l]=e+r[6],o[13+l]=i+r[7]),t._upload=!0},Et.fillTranglesVB=function(t,e,i,r,s,n,a){var h=(t._byteLength>>2)+r.length;t.byteLength=h<<2;var l=t.getFloat32Array();h-=r.length;for(var o,u,_=r.length,c=s.a,d=s.b,f=s.c,m=s.d,p=0;p<_;p+=4)l[h+p+2]=r[p+2],l[h+p+3]=r[p+3],1!==c||0!==d||0!==f||1!==m?(s.bTransform=!0,o=s.tx+n,u=s.ty+a,l[h+p]=(r[p]+e)*c+(r[p+1]+i)*f+o,l[h+p+1]=(r[p]+e)*d+(r[p+1]+i)*m+u):(s.bTransform=!1,e+=s.tx+n,i+=s.ty+a,l[h+p]=e+r[p],l[h+p+1]=i+r[p+1]);return t._upload=!0},Et.copyPreImgVb=function(t,e,i){var r=t._byteLength>>2;t.byteLength=r+16<<2;for(var s=t.getFloat32Array(),n=0,a=r-16;n<4;n++)s[r]=s[a]+e,s[++r]=s[++a]+i,s[++r]=s[++a],s[++r]=s[++a],++r,++a;t._upload=!0},Et.fillRectImgVb=function(t,e,i,r,s,n,a,h,l,o,u,_,c){void 0===c&&(c=!1);var d,f,m,p,g,x,v,b,y,T,A,E,S=1,w=h.a,R=h.b,I=h.c,M=h.d,C=e&&e.width<99999999;if(1!==w||0!==R||0!==I||1!==M?(h.bTransform=!0,0===R&&0===I&&(S=23,d=w*i+(B=h.tx+l),m=w*(D=s+i)+B,f=M*r+(N=h.ty+o),p=M*(F=n+r)+N)):(h.bTransform=!(S=23),m=(d=i+h.tx+l)+s,p=(f=r+h.ty+o)+n),C&&(g=e.x,x=e.y,v=e.width+g,b=e.height+x),1!==S){if(Math.min(d,m)>=v)return!1;if(Math.min(f,p)>=b)return!1;if(Math.max(m,d)<=g)return!1;if(Math.max(p,f)<=x)return!1}var L=t._byteLength>>2;t.byteLength=16+L<<2;var P=t.getFloat32Array();switch(P[2+L]=a[0],P[3+L]=a[1],P[6+L]=a[2],P[7+L]=a[3],P[10+L]=a[4],P[11+L]=a[5],P[14+L]=a[6],P[15+L]=a[7],S){case 1:var D,F,B=h.tx+l,N=h.ty+o,O=w*i,V=I*r,U=M*r,k=R*i,H=w*(D=s+i),G=I*(F=n+r),z=M*F,W=R*D;c?(y=O+V+B,A=Math.round(y)-y,T=U+k+N,E=Math.round(T)-T,P[L]=y+A,P[1+L]=T+E,P[4+L]=H+V+B+A,P[5+L]=U+W+N+E,P[8+L]=H+G+B+A,P[9+L]=z+W+N+E,P[12+L]=O+G+B+A,P[13+L]=z+k+N+E):(P[L]=O+V+B,P[1+L]=U+k+N,P[4+L]=H+V+B,P[5+L]=U+W+N,P[8+L]=H+G+B,P[9+L]=z+W+N,P[12+L]=O+G+B,P[13+L]=z+k+N);break;case 23:c?(y=d+u,A=Math.round(y)-y,T=f,E=Math.round(T)-T,P[L]=y+A,P[1+L]=T+E,P[4+L]=m+u+A,P[5+L]=f+E,P[8+L]=m+A,P[9+L]=p+E,P[12+L]=d+A,P[13+L]=p+E):(P[L]=d+u,P[1+L]=f,P[4+L]=m+u,P[5+L]=f,P[8+L]=m,P[9+L]=p,P[12+L]=d,P[13+L]=p)}return t._upload=!0},Et.fillLineVb=function(t,e,i,r,s,n,a,h){var l=.5*a,o=Et._fillLineArray,u=-(r-n),_=i-s,a=Math.sqrt(u*u+_*_);u/=a,_/=a,_*=l,o[0]=i-(u*=l),o[1]=r-_,o[4]=i+u,o[5]=r+_,o[8]=s+u,o[9]=n+_,o[12]=s-u,o[13]=n-_,h&&h.transformPointArray(o,o);h=16+(t._byteLength>>2);return t.byteLength=h<<2,t.insertData(o,h-16),!0},Et._fillLineArray=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Et);function Et(){}l(St,"laya.webgl.utils.MatirxArray"),St.ArrayMul=function(t,e,i){if(t)if(e)for(var r,s,n,a,h=0;h<4;h++)r=t[h],s=t[h+4],n=t[h+8],a=t[h+12],i[h]=r*e[0]+s*e[1]+n*e[2]+a*e[3],i[h+4]=r*e[4]+s*e[5]+n*e[6]+a*e[7],i[h+8]=r*e[8]+s*e[9]+n*e[10]+a*e[11],i[h+12]=r*e[12]+s*e[13]+n*e[14]+a*e[15];else St.copyArray(t,i);else St.copyArray(e,i)},St.copyArray=function(t,e){if(t&&e)for(var i=0;i]/),n.noCompile?console.log("function():Boolean{return "+h.substr(_+n.name.length)+"}"):(m=h.replace(/^\s*/,"").split(/\s+/),n.setCondition(m[1],"#ifdef"===l?1:2),n.text="//"+n.text),n.setParent(t),t=n,s)for(m=h.substr(d).split(x._splitToWordExps3),d=0;d()'\",;".indexOf(h))if(0<=s&&1{}\\\\]+)|([,;:\\\\])","g"),x._splitToWordExps=new RegExp("[(\".*\")]+|[('.*')]+|([ \\t=\\+\\-*/&%!<>!%(),;])","g"),x.includes={},e(x,["shaderParamsMap",function(){return this.shaderParamsMap={float:5126,int:5124,bool:35670,vec2:35664,vec3:35665,vec4:35666,ivec2:35667,ivec3:35668,ivec4:35669,bvec2:35671,bvec3:35672,bvec4:35673,mat2:35674,mat3:35675,mat4:35676,sampler2D:35678,samplerCube:35680}},"_splitToWordExps3",function(){return this._splitToWordExps3=new RegExp("[ \\t=\\+\\-*/&%!<>!%(),;\\|]","g")}]),x.__init$=function(){g=function(){function i(t){this.childs=[],this.text="",this.parent=null,this.name=null,this.noCompile=!1,this.includefiles=null,this.condition=null,this.conditionType=0,this.useFuns="",this.z=0,this.src=null,this.includefiles=t}l(i,"");var t=i.prototype;return t.setParent=function(t){t.childs.push(this),this.z=t.z+1,this.parent=t},t.setCondition=function(t,e){t&&(this.conditionType=e,t=t.replace(/(\s*$)/g,""),this.condition=function(){return this[t]},this.condition.__condition=t)},t.toscript=function(t,e){return this._toscript(t,e,++i.__id)},t._toscript=function(r,s,n){if(this.childs.length<1&&!this.text)return s;s.length;if(this.condition){var t=!!this.condition.call(r);if(!(t=2===this.conditionType?!t:t))return s}if(this.text&&s.push(this.text),0>4;At.fillTranglesVB(n,e,i,r,s||this._curMat,0,0),At.expandIBQuadrangle(this._ib,n._byteLength/64+8);r=new Nt(1,0);r.textureHost=t;t=new me("attribute vec2 position; attribute vec2 texcoord; uniform vec2 size; uniform mat4 mmat; varying vec2 v_texcoord; void main() { vec4 p=vec4(position.xy,0.0,1.0);vec4 pos=mmat*p; gl_Position =vec4((pos.x/size.x-0.5)*2.0,(0.5-pos.y/size.y)*2.0,pos.z,1.0); v_texcoord = texcoord; }","precision mediump float; varying vec2 v_texcoord; uniform sampler2D texture; void main() {vec4 color= texture2D(texture, v_texcoord); color.a*=1.0; gl_FragColor= color;}");n._vertType=3,this._setIBVB(e,i,this._ib,n,6*a,s,t,r,0,0)}},Lt.enable=function(){if(o.__init__(),p.isConchApp&&!p.isConchWebGL)return S.skinAniSprite=function(){return new it},Lt.expandContext(),!1;if(S.getWebGLContext=function(t){for(var e,i=["webgl","experimental-webgl","webkit-3d","moz-webgl"],r=0;rs?h.height=s:h.height=t.height+p:(h.oy=p,t.height+p>s?h.height=s-p:h.height=t.height);break;case"repeat-y":m<0?t.width+m>r?h.width=r:h.width=t.width+m:(h.ox=m,t.width+m>r?h.width=r-m:h.width=t.width),h.height=s;break;case"no-repeat":m<0?t.width+m>r?h.width=r:h.width=t.width+m:(h.ox=m,t.width+m>r?h.width=r-m:h.width=t.width),p<0?t.height+p>s?h.height=s:h.height=t.height+p:(h.oy=p,t.height+p>s?h.height=s-p:h.height=t.height);break;default:h.width=r,h.height=s}h.w=c,h.h=d,h.uv=[0,0,h.width/c,0,h.width/c,h.height/d,0,h.height/d]}e+=h.ox,i+=h.oy,m-=h.ox,p-=h.oy,At.fillRectImgVb(_,this._clipRect,e,i,h.width,h.height,h.uv,this._curMat,this._x,this._y,0,0)&&(this._renderKey=0,l=Kt.create(this,this._ib,_,(_._byteLength-64)/32*3,Nt.create(256,0)),(o=(this._submits[this._submits._length++]=l).shaderValue).textureHost=t,u=f[0]*c,a=f[1]*d,n=(f[2]-f[0])*c,e=(f[5]-f[3])*d,i=-m/c,f=-p/d,o.u_TexRange[0]=u/c,o.u_TexRange[1]=n/c,o.u_TexRange[2]=a/d,o.u_TexRange[3]=e/d,o.u_offset[0]=i,o.u_offset[1]=f,U.enabled&&!this._isMain&&l.addTexture(t,(_._byteLength>>2)-16),(this._curSubmit=l)._renderType=10017,l._numEle+=6)}else this.sprite&&x.timer.callLater(this,this._repaintSprite)},t.setShader=function(t){X.save(this,1048576,this._shader2D,!0),this._shader2D.shader=t},t.setFilters=function(t){X.save(this,2097152,this._shader2D,!0),this._shader2D.filters=t,this._curSubmit=ut.RENDERBASE,this._renderKey=0,this._drawCount++},t.drawTexture=function(t,e,i,r,s,n,a){this._drawTextureM(t,e,i,r,s,n,a,null,1)},t.addTextureVb=function(t,e,i){var r=this._curSubmit._vb||this._vb,s=r._byteLength>>2;r.byteLength=s+16<<2;for(var n=r.getFloat32Array(),a=0;a<16;a+=4)n[s++]=t[a]+e,n[s++]=t[a+1]+i,n[s++]=t[a+2],n[s++]=t[a+3];this._curSubmit._numEle+=6,this._maxNumEle=Math.max(this._maxNumEle,this._curSubmit._numEle),r._upload=!0},t.willDrawTexture=function(t,e){if(!(t.loaded&&t.bitmap&&t.source))return this.sprite&&x.timer.callLater(this,this._repaintSprite),0;var i=t.bitmap,r=i.id+this._shader2D.ALPHA*e+10016;if(r==this._renderKey)return r;var s=this._shader2D,n=s.ALPHA,a=this._curSubmit.shaderValue;s.ALPHA*=e,this._renderKey=r,this._drawCount++,s.glTexture=i;var h=this._vb,e=null,i=h._byteLength/32*3,e=Kt.create(this,this._ib,h,i,Nt.create(1,0));return(this._submits[this._submits._length++]=e).shaderValue.textureHost=t,e._renderType=10016,e._preIsSameTextureShader=10016===this._curSubmit._renderType&&s.ALPHA===a.ALPHA,this._curSubmit=e,s.ALPHA=n,r},t.drawTextures=function(t,e,i,r){if(t.loaded&&t.bitmap&&t.source){var s=this._clipRect;if(this._clipRect=S.MAXCLIPRECT,this._drawTextureM(t,e[0],e[1],t.width,t.height,i,r,null,1)){if(this._clipRect=s,I.drawCall++,!(e.length<4)){for(var n=this._curSubmit._vb||this._vb,a=this._curMat.a,h=this._curMat.d,l=2,o=e.length;l>2)-16),this._curSubmit._numEle+=6,this._maxNumEle=Math.max(this._maxNumEle,this._curSubmit._numEle),!0)},t._repaintSprite=function(){this.sprite&&this.sprite.repaint()},t._drawText=function(t,e,i,r,s,n,a,h,l,o){var u=t.bitmap;this._drawCount++;var _,c,d=u.id+this._shader2D.ALPHA+10016;d!=this._renderKey&&(this._renderKey=d,_=this._curSubmit.shaderValue,(c=this._shader2D).glTexture=u,f=null,u=(d=this._vb)._byteLength/32*3,(f=U.enabled?Kt.create(this,this._ib,d,u,Nt.create(1,0)):Kt.create(this,this._ib,d,u,fe.create()))._preIsSameTextureShader=10016===this._curSubmit._renderType&&c.ALPHA===_.ALPHA,(this._submits[this._submits._length++]=f).shaderValue.textureHost=t,f._renderType=10016,this._curSubmit=f),t.active();var f=this._curSubmit._vb||this._vb;At.fillRectImgVb(f,this._clipRect,e+a,i+h,r||t.width,s||t.height,t.uv,n||this._curMat,this._x,this._y,l,o,!0)&&(U.enabled&&!this._isMain&&this._curSubmit.addTexture(t,(f._byteLength>>2)-16),this._curSubmit._numEle+=6,this._maxNumEle=Math.max(this._maxNumEle,this._curSubmit._numEle))},t.drawTextureWithTransform=function(t,e,i,r,s,n,a,h,l){var o,u,_;n?(o=this._curMat,u=this._x,_=this._y,0===a&&0===h||(this._x=a*o.a+h*o.c,this._y=h*o.d+a*o.b),n&&o.bTransform?(y.mul(n,o,S._tmpMatrix),(n=S._tmpMatrix)._checkTransform()):(this._x+=o.tx,this._y+=o.ty),this._drawTextureM(t,e,i,r,s,0,0,n,l),this._x=u,this._y=_):this._drawTextureM(t,e,i,r,s,a,h,null,l)},t.fillQuadrangle=function(t,e,i,r,s){var n,a=this._curSubmit,h=this._vb,l=this._shader2D,o=a.shaderValue;this._renderKey=0,t.bitmap?(n=t.bitmap,l.glTexture==n&&l.ALPHA===o.ALPHA||(l.glTexture=n,(a=this._curSubmit=ut.createSubmit(this,this._ib,h,h._byteLength/32*3,Nt.create(1,0))).shaderValue.glTexture=n,this._submits[this._submits._length++]=a),At.fillQuadrangleImgVb(h,e,i,r,t.uv,s||this._curMat,this._x,this._y)):(a.shaderValue.fillStyle&&a.shaderValue.fillStyle.equal(t)&&l.ALPHA===o.ALPHA||(l.glTexture=null,(a=this._curSubmit=ut.createSubmit(this,this._ib,h,h._byteLength/32*3,Nt.create(2,0))).shaderValue.defines.add(2),a.shaderValue.fillStyle=W.create(t),this._submits[this._submits._length++]=a),At.fillQuadrangleImgVb(h,e,i,r,P.DEF_UV,s||this._curMat,this._x,this._y)),a._numEle+=6},t.drawTexture2=function(t,e,i,r,s,n,a,h){var l;0!=n&&(l=this._curMat,this._x=t*l.a+e*l.c,this._y=e*l.d+t*l.b,s=s&&(l.bTransform||s.bTransform?(y.mul(s,l,S._tmpMatrix),S._tmpMatrix):(this._x+=s.tx+l.tx,this._y+=s.ty+l.ty,y.EMPTY)),1!==n||a?(t=this._shader2D.ALPHA,l=this._nBlendType,this._shader2D.ALPHA=n,a&&(this._nBlendType=G.TOINT(a)),this._drawTextureM(h[0],h[1]-i,h[2]-r,h[3],h[4],0,0,s,1),this._shader2D.ALPHA=t,this._nBlendType=l):this._drawTextureM(h[0],h[1]-i,h[2]-r,h[3],h[4],0,0,s,1),this._x=this._y=0)},t.drawCanvas=function(t,e,i,r,s){var n,a,h=t.context;this._renderKey=0,h._targets?(this._submits[this._submits._length++]=Xt.create(h,0,null),this._curSubmit=ut.RENDERBASE,h._targets.drawTo(this,e,i,r,s)):(n=this._submits[this._submits._length++]=Xt.create(h,this._shader2D.ALPHA,this._shader2D.filters),a=r/t.width,t=s/t.height,n=n._matrix,this._curMat.copyTo(n),1!=a&&1!=t&&n.scale(a,t),a=n.tx,t=n.ty,n.tx=n.ty=0,n.transformPoint(T.TEMP.setTo(e,i)),n.translate(T.TEMP.x+a,T.TEMP.y+t),this._curSubmit=ut.RENDERBASE),v.showCanvasMark&&(this.save(),this.lineWidth=4,this.strokeStyle=h._targets?"yellow":"green",this.strokeRect(e-1,i-1,r+2,s+2,1),this.strokeRect(e,i,r,s,1),this.restore())},t.drawTarget=function(t,e,i,r,s,n,a,h,l,o){void 0===o&&(o=-1);var u=this._vb;At.fillRectImgVb(u,this._clipRect,e,i,r,s,l||P.DEF_UV,n||this._curMat,this._x,this._y,0,0)&&(this._renderKey=0,this._shader2D.glTexture=null,this._curSubmit.shaderValue,(a=this._curSubmit=pt.create(this,this._ib,u,(u._byteLength-64)/32*3,h,a)).blendType=-1==o?this._nBlendType:o,a.scope=t,this._submits[this._submits._length++]=a,this._curSubmit._numEle+=6)},t.mixRGBandAlpha=function(t){return this._mixRGBandAlpha(t,this._shader2D.ALPHA)},t._mixRGBandAlpha=function(t,e){var i=(4278190080&t)>>>24;return 0!=i?i*=e:i=255*e,16777215&t|i<<24},t.drawTriangles=function(t,e,i,r,s,n,a,h,l,o){if(!t.loaded||!t.source)return this.sprite&&x.timer.callLater(this,this._repaintSprite),!1;this._drawCount++;t.bitmap;var u=this._mixRGBandAlpha(4294967295,h),_=(r.length,n.length);this._renderKey=-1;h=this._curSubmit=Kt.create(this,this._triangleMesh.getIBR(),this._triangleMesh.getVBR(),this._triangleMesh.indexNum,Nt.create(1,0));return h.shaderValue.textureHost=t,h._renderType=10016,this._submits[this._submits._length++]=h,a?(S._tmpMatrix.a=a.a,S._tmpMatrix.b=a.b,S._tmpMatrix.c=a.c,S._tmpMatrix.d=a.d,S._tmpMatrix.tx=a.tx+e,S._tmpMatrix.ty=a.ty+i,y.mul(S._tmpMatrix,this._curMat,S._tmpMatrix)):(S._tmpMatrix.a=this._curMat.a,S._tmpMatrix.b=this._curMat.b,S._tmpMatrix.c=this._curMat.c,S._tmpMatrix.d=this._curMat.d,S._tmpMatrix.tx=this._curMat.tx+e,S._tmpMatrix.ty=this._curMat.ty+i),this._triangleMesh.addData(r,s,n,S._tmpMatrix,u,this),this._curSubmit._numEle+=_,this._maxNumEle=Math.max(this._maxNumEle,this._curSubmit._numEle),!0},t.transform=function(t,e,i,r,s,n){q.save(this),y.mul(y.TEMP.setTo(t,e,i,r,s,n),this._curMat,this._curMat),this._curMat._checkTransform()},t.setTransformByMatrix=function(t){t.copyTo(this._curMat)},t.transformByMatrix=function(t){q.save(this),y.mul(t,this._curMat,this._curMat),this._curMat._checkTransform()},t.rotate=function(t){q.save(this),this._curMat.rotateEx(t)},t.scale=function(t,e){q.save(this),this._curMat.scaleEx(t,e)},t.clipRect=function(t,e,i,r){var s,n,a,h,l,o;0!=this._curMat.b||0!=this._curMat.c?(this._renderKey=0,h=mt.create(4),this.addRenderObject(h),l=(o=this._vb)._byteLength>>2,At.fillRectImgVb(o,null,t,e,i,r,P.DEF_UV,this._curMat,this._x,this._y,0,0)?(this._shader2D.glTexture=null,(a=this._curSubmit=ut.createSubmit(this,this._ib,o,(o._byteLength-64)/32*3,Nt.create(2,0))).shaderValue.ALPHA=1,this._submits[this._submits._length++]=a,this._curSubmit._numEle+=6):alert("clipRect calc stencil rect error"),s=mt.create(5),this.addRenderObject(s),n=o.getFloat32Array(),h=Math.min(Math.min(Math.min(n[l],n[4+l]),n[8+l]),n[12+l]),a=Math.max(Math.max(Math.max(n[l],n[4+l]),n[8+l]),n[12+l]),o=Math.min(Math.min(Math.min(n[1+l],n[5+l]),n[9+l]),n[13+l]),l=Math.max(Math.max(Math.max(n[1+l],n[5+l]),n[9+l]),n[13+l]),Q.save(this,s,t,e,i,r,h,o,a-h,l-o)):(i*=this._curMat.a,r*=this._curMat.d,h=T.TEMP,this._curMat.transformPoint(h.setTo(t,e)),i<0&&(h.x=h.x+i,i=-i),r<0&&(h.y=h.y+r,r=-r),this._renderKey=0,l=this._curSubmit=ft.create(this),(this._submits[this._submits._length++]=l).submitIndex=this._submits._length,l.submitLength=9999999,K.save(this,l),t=(o=this._clipRect).x,e=o.y,i=h.x+i,r=h.y+r,t>4,u=t.bitmap;this._renderKey=0,h.glTexture==u&&h.ALPHA===l.ALPHA||((n=this._curSubmit=ut.createSubmit(this,this._ib,a,a._byteLength/32*3,Nt.create(1,0))).shaderValue.textureHost=t,this._submits[this._submits._length++]=n),At.fillTranglesVB(a,e,i,r,s||this._curMat,this._x,this._y),n._numEle+=6*o},t.submitElement=function(t,e){var i=this._submits;for(e<0&&(e=i._length);tthis._ib.bufferLength/12&&At.expandIBQuadrangle(this._ib,t),!this._isMain&&U.enabled&&U._atlasRestore>this._atlasResourceChange){this._atlasResourceChange=U._atlasRestore;for(var e=this._submits,i=0,r=e._length;i=2*Math.PI)u=2*-Math.PI;else for(;0=2*Math.PI)u=2*Math.PI;else for(;u<0;)u+=2*Math.PI;o=u/(f=i<101?Math.max(10,u*i/5):i<201?Math.max(10,u*i/20):Math.max(10,u*i/40))/2,h=Math.abs(4/3*(1-Math.cos(o))/Math.sin(o)),n&&(h=-h);for(var m=this._getPath(),p=NaN,g=NaN,d=0;d<=f;d++)l=r+u*(d/f),_=t+Math.cos(l)*i,c=e+Math.sin(l)*i,a&&(_=this._curMat.a*(p=_)+this._curMat.c*(g=c),c=this._curMat.b*p+this._curMat.d*g),_==this._path.getEndPointX()&&c==this._path.getEndPointY()||m.addPoint(_,c);_=t+Math.cos(s)*i,c=e+Math.sin(s)*i,a&&(_=this._curMat.a*(p=_)+this._curMat.c*(g=c),c=this._curMat.b*p+this._curMat.d*g),_==this._path.getEndPointX()&&c==this._path.getEndPointY()||m.addPoint(_,c)},t.quadraticCurveTo=function(t,e,i,r){var s=_.I,n=i,a=r;i=this._curMat.a*n+this._curMat.c*a,r=this._curMat.b*n+this._curMat.d*a,t=this._curMat.a*(n=t)+this._curMat.c*(a=e),e=this._curMat.b*n+this._curMat.d*a;for(var h=s.getBezierPoints([this._path.getEndPointX(),this._path.getEndPointY(),t,e,i,r],30,2),l=0,o=h.length/2;l>16&255)/255,h=(n>>8&255)/255,l=(255&n)/255,o=[],n=[],u=Math.floor(this._points.length/2),_=0;_>16&255)/255,u=(l>>8&255)/255,_=(255&l)/255,s=[a[0],a[1]],t=[a[a.length-5],a[a.length-4]],l=t[0]+.5*(s[0]-t[0]),t=t[1]+.5*(s[1]-t[1]);a.unshift(l,t,0,0,0),a.push(l,t,0,0,0);var c,d,f,m,p,g,x,v=a.length/5,b=r,y=i/2,T=a[0],A=a[1],E=a[5],S=a[6],w=-(A-S),R=T-E,I=Math.sqrt(w*w+R*R);h.push(T-(w=w/I*y),A-(R=R/I*y),o,u,_,T+w,A+R,o,u,_);for(var M=1;M>16&255)/255,_=(o>>8&255)/255,c=(255&o)/255,n=Math.floor(s.length/2),r=0;r>2,l=this._vb.getFloat32Array(),o=0,u=0;ug.tmpIdx.length&&(g.tmpIdx=new Uint16Array(m));for(var p=0;pthis.ys?this.xs:this.ys)+"")),t=(t="normal 100 "+this.font).replace(r._fontSizeReg,e),this.borderColor&&(t+=" 1 "+this.borderColor),this._ctx.font=t,this._ctx.textBaseline="top",this._ctx.fillStyle=this.fillColor,this._ctx.fillText(this.char,v.CborderSize,v.CborderSize,null,null,null)):(this._ctx.save(),this._ctx.lineJoin="round",this._ctx.clearRect(0,0,this.cw+2*v.CborderSize,this.ch+2*v.CborderSize),this._ctx.font=this.font,L.RightToLeft&&(this._ctx.textAlign="end"),this._ctx.textBaseline="top",1!=this.xs||1!=this.ys?this._ctx.setTransform(this.xs,0,0,this.ys,v.CborderSize,v.CborderSize):this._ctx.setTransform(1,0,0,1,v.CborderSize,v.CborderSize),this.fillColor&&this.borderColor?(this._ctx.strokeStyle=this.borderColor,this._ctx.lineWidth=this.lineWidth,this._ctx.strokeText(this.char,0,0,null,null,0,null),this._ctx.fillStyle=this.fillColor,this._ctx.fillText(this.char,0,0)):-1===this.lineWidth?(this._ctx.fillStyle=this.fillColor||"white",this._ctx.fillText(this.char,0,0)):(this._ctx.strokeStyle=this.borderColor||"white",this._ctx.lineWidth=this.lineWidth,this._ctx.strokeText(this.char,0,0,null,null,0,null)),this.underLine&&(this._ctx.lineWidth=1,this._ctx.strokeStyle=this.fillColor,this._ctx.beginPath(),this._ctx.moveTo(0,this.fontSize+1),t=this._ctx.measureText(this.char).width+1,this._ctx.lineTo(t,this.fontSize+1),this._ctx.stroke()),this._ctx.restore()),this.borderSize=v.CborderSize,this.completeCreate()},t.onresize=function(t,e){this._w=t,this._h=e,this._allowMerageInAtlas=!0},t.clearAtlasSource=function(){},a(0,t,"allowMerageInAtlas",function(){return this._allowMerageInAtlas}),a(0,t,"atlasSource",function(){return this.canvas}),a(0,t,"atlasImgData",function(){return!r.canUseCanvas&&this._ctx.getImageData?this._ctx.getImageData(0,0,this._w,this._h):null}),a(0,t,"enableMerageInAtlas",function(){return this._enableMerageInAtlas},function(t){this._enableMerageInAtlas=t}),r.createOneChar=function(t,e){return new r(t,e)},r.canUseCanvas=!0,r._fontSizeReg=new RegExp("\\d+(?=px)","g"),r}(),ue=function(){function o(t,e,i,r,s,n,a,h,l){void 0===i&&(i=6408),void 0===r&&(r=5121),void 0===s&&(s=34041),void 0===n&&(n=!1),void 0===a&&(a=!1),void 0===h&&(h=-1),void 0===l&&(l=1),o.__super.call(this),this._w=t,this._h=e,this._surfaceFormat=i,this._surfaceType=r,this._depthStencilFormat=s,p.isConchWebGL&&34041===this._depthStencilFormat&&(this._depthStencilFormat=33189),this._mipMap=n,this._repeat=a,this._minFifter=h,this._magFifter=l}l(o,"laya.webgl.resource.WebGLRenderTarget",i);var t=o.prototype;return t.recreateResource=function(){var t=Ct.mainContext;this._frameBuffer||(this._frameBuffer=t.createFramebuffer()),this._source||(this._source=t.createTexture());var e=Pt.curBindTexTarget,i=Pt.curBindTexValue;Pt.bindTexture(t,3553,this._source),t.texImage2D(3553,0,6408,this._w,this._h,0,this._surfaceFormat,this._surfaceType,null);var r=this._minFifter,s=this._magFifter,n=this._repeat?10497:33071,a=u.isPOT(this._w,this._h);if(a?(this._mipMap?-1!==r||(r=9987):-1!==r||(r=9729),-1!==s||(s=9729),t.texParameteri(3553,10241,r),t.texParameteri(3553,10240,s),t.texParameteri(3553,10242,n),t.texParameteri(3553,10243,n),this._mipMap&&t.generateMipmap(3553)):(-1!==s||(s=9729),t.texParameteri(3553,10241,r=-1===r?9729:r),t.texParameteri(3553,10240,s),t.texParameteri(3553,10242,33071),t.texParameteri(3553,10243,33071)),t.bindFramebuffer(36160,this._frameBuffer),t.framebufferTexture2D(36160,36064,3553,this._source,0),this._depthStencilFormat)switch(this._depthStencilBuffer||(this._depthStencilBuffer=t.createRenderbuffer()),t.bindRenderbuffer(36161,this._depthStencilBuffer),t.renderbufferStorage(36161,this._depthStencilFormat,this._w,this._h),this._depthStencilFormat){case 33189:t.framebufferRenderbuffer(36160,36096,36161,this._depthStencilBuffer);break;case 36168:t.framebufferRenderbuffer(36160,36128,36161,this._depthStencilBuffer);break;case 34041:t.framebufferRenderbuffer(36160,33306,36161,this._depthStencilBuffer)}t.bindFramebuffer(36160,null),e&&i&&Pt.bindTexture(t,e,i),t.bindRenderbuffer(36161,null),a&&this._mipMap?this.memorySize=this._w*this._h*4*(1+1/3):this.memorySize=this._w*this._h*4,this.completeCreate()},t.disposeResource=function(){this._frameBuffer&&(Ct.mainContext.deleteTexture(this._source),Ct.mainContext.deleteFramebuffer(this._frameBuffer),Ct.mainContext.deleteRenderbuffer(this._depthStencilBuffer),this._source=null,this._frameBuffer=null,this._depthStencilBuffer=null,this.memorySize=0)},a(0,t,"depthStencilBuffer",function(){return this._depthStencilBuffer}),a(0,t,"frameBuffer",function(){return this._frameBuffer}),o}(),_e=function(){function h(t,e,i,r,s,n,a){this.offsetX=0,this.offsetY=0,h.__super.call(this),this.repeat=!0,this.mipmap=!1,this.minFifter=-1,this.magFifter=-1,this.atlasImage=n,this.canvas=t,this._ctx=t.getContext("2d",void 0),this._w=r,this._h=s,this.offsetX=e,this.offsetY=i,this.src=a,this._enableMerageInAtlas=!0,U.enabled&&this._wthis._maxsize+64&&(this.memorySize=this._buffer.byteLength,this._buffer=this._buffer.slice(0,this._maxsize+64),this._checkArrayUse()),this._maxsize=this._byteLength),this._uploadSizethis._maxsize+64&&(this.memorySize=this._buffer.byteLength,this._buffer=this._buffer.slice(0,this._maxsize+64),this._checkArrayUse()),this._maxsize=this._byteLength),this._uploadSize