You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
7 lines
2.2 KiB
7 lines
2.2 KiB
// All material copyright Esri, All Rights Reserved, unless otherwise specified. |
|
// See https://js.arcgis.com/4.30/esri/copyright.txt for details. |
|
//>>built |
|
define("exports ../../../core/Evented ../../../core/events ../../../core/handleUtils ../../../core/has ../../../core/mathUtils ../../../core/libs/gl-matrix-2/math/mat2d ../../../core/libs/gl-matrix-2/factories/mat2df64 ../../webgl/contextUtils".split(" "),function(l,q,r,t,m,u,k,v,n){class w{constructor(b){this.events=new q;this._hasMajorPerformanceCaveat=!1;this._lastRenderFrameCounter=0;this._canvas=document.createElement("canvas");this._canvas.setAttribute("style","width: 100%; height:100%; display:block; willChange:transform"); |
|
const a={failIfMajorPerformanceCaveat:!0,alpha:!0,antialias:!1,depth:!0,stencil:!0};b.appendChild(this._canvas);b=n.createContext(this._canvas,a);b||(b=n.createContext(this._canvas,{...a,failIfMajorPerformanceCaveat:!1}),this._hasMajorPerformanceCaveat=!0);this._gl=b;this._handles=t.handlesGroup([r.on(this._canvas,"webglcontextlost",c=>this.events.emit("webgl-context-lost",c))])}destroy(){this._canvas.parentNode?.removeChild(this._canvas);this._canvas=null;this._handles.remove();this._gl=null}get gl(){return this._gl}render(b, |
|
a){if(this._hasMajorPerformanceCaveat||m("esri-force-performance-mode")){if(++this._lastRenderFrameCounter>=m("esri-performance-mode-frames-between-render")&&(a(),this._lastRenderViewState=b.state.clone(),this._lastRenderFrameCounter=0),this._lastRenderViewState){const [c,d,e,f,g,h]=this._computeViewTransform(this._lastRenderViewState,b.state);this._canvas.style.transform=`matrix(${c}, ${d}, ${e}, ${f}, ${g}, ${h})`}}else a()}resize(b){const a=this._canvas,c=a.style,{state:{size:d},pixelRatio:e}= |
|
b;b=d[0];const f=d[1],g=Math.round(b*e),h=Math.round(f*e);if(a.width!==g||a.height!==h)a.width=g,a.height=h;c.width=b+"px";c.height=f+"px"}_computeViewTransform(b,a){const [c,d]=b.center,[e,f]=a.center,[g,h]=b.toScreen([0,0],e,f),[x,y]=b.toScreen([0,0],c,d),z=x-g,A=y-h,p=b.scale/a.scale;b=a.rotation-b.rotation;a=v.create();k.identity(a);k.scale(a,a,[p,p]);k.rotate(a,a,u.deg2rad(b));k.translate(a,a,[z,A]);return a}}l.ManagedCanvas=w;Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}); |