<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import EventType from"../events/EventType.js";import ImageSource,{defaultImageLoadFunction}from"./Image.js";import ImageWrapper from"../Image.js";import{appendParams}from"../uri.js";import{assign}from"../obj.js";import{containsExtent,getCenter,getHeight,getWidth,scaleFromCenter}from"../extent.js";class ImageMapGuide extends ImageSource{constructor(e){super({imageSmoothing:e.imageSmoothing,projection:e.projection,resolutions:e.resolutions}),this.crossOrigin_=void 0!==e.crossOrigin?e.crossOrigin:null,this.displayDpi_=void 0!==e.displayDpi?e.displayDpi:96,this.params_=e.params||{},this.url_=e.url,this.imageLoadFunction_=void 0!==e.imageLoadFunction?e.imageLoadFunction:defaultImageLoadFunction,this.hidpi_=void 0===e.hidpi||e.hidpi,this.metersPerUnit_=void 0!==e.metersPerUnit?e.metersPerUnit:1,this.ratio_=void 0!==e.ratio?e.ratio:1,this.useOverlay_=void 0!==e.useOverlay&amp;&amp;e.useOverlay,this.image_=null,this.renderedRevision_=0}getParams(){return this.params_}getImageInternal(e,i,t,s){i=this.findNearestResolution(i),t=this.hidpi_?t:1;let a=this.image_;if(a&amp;&amp;this.renderedRevision_==this.getRevision()&amp;&amp;a.getResolution()==i&amp;&amp;a.getPixelRatio()==t&amp;&amp;containsExtent(a.getExtent(),e))return a;1!=this.ratio_&amp;&amp;(e=e.slice(),scaleFromCenter(e,this.ratio_));var r=getWidth(e)/i,n=getHeight(e)/i;return void 0!==this.url_?(r=this.getUrl(this.url_,this.params_,e,[r*t,n*t],s),(a=new ImageWrapper(e,i,t,r,this.crossOrigin_,this.imageLoadFunction_)).addEventListener(EventType.CHANGE,this.handleImageChange.bind(this))):a=null,this.image_=a,this.renderedRevision_=this.getRevision(),a}getImageLoadFunction(){return this.imageLoadFunction_}updateParams(e){assign(this.params_,e),this.changed()}getUrl(e,i,t,s,a){var r=getScale(t,s,this.metersPerUnit_,this.displayDpi_),t=getCenter(t),s={OPERATION:this.useOverlay_?"GETDYNAMICMAPOVERLAYIMAGE":"GETMAPIMAGE",VERSION:"2.0.0",LOCALE:"en",CLIENTAGENT:"ol/source/ImageMapGuide source",CLIP:"1",SETDISPLAYDPI:this.displayDpi_,SETDISPLAYWIDTH:Math.round(s[0]),SETDISPLAYHEIGHT:Math.round(s[1]),SETVIEWSCALE:r,SETVIEWCENTERX:t[0],SETVIEWCENTERY:t[1]};return assign(s,i),appendParams(e,s)}setImageLoadFunction(e){this.image_=null,this.imageLoadFunction_=e,this.changed()}}function getScale(e,i,t,s){var a=getWidth(e),e=getHeight(e),r=i[0],i=i[1],s=.0254/s;return r*e&lt;i*a?a*t/(r*s):e*t/(i*s)}export default ImageMapGuide;</pre></body></html>