/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.24/esri/copyright.txt for details. */ import e from"../../core/has.js";import{c as r}from"../../chunks/mat4f64.js";import{projectBuffer as n,computeTranslationToOriginAndRotation as t}from"../../geometry/projection.js";import o from"./externalRenderers/ExternalRendererStore.js";const i=new o;function s(e,r){i.add(e,r)}function d(e,r){i.remove(e,r)}function a(e){e._stage.renderView.requestRender()}function c(e,r,t,o,i,s,d){return o=o||e.spatialReference,n(r,o,t,i,e.renderCoordsHelper.spatialReference,s,d)?i:null}function f(e,r,t,o,i,s,d){return s=s||e.spatialReference,n(r,e.renderCoordsHelper.spatialReference,t,o,s,i,d)?o:null}function u(e,n,o,i){return i||(i=r()),o=o||e.spatialReference,t(o,n,i,e.renderCoordsHelper.spatialReference)?i:null}function l(e){return e.state.camera.clone()}function m(e){return{add:s.bind(this,e),remove:d.bind(this,e),requestRender:a.bind(this,e),toRenderCoordinates:c.bind(this,e),fromRenderCoordinates:f.bind(this,e),renderCoordinateTransformAt:u.bind(this,e)}}function p(r){e.add("esri-force-webgl",r)}export{s as add,m as bind,p as forceWebGLContext,f as fromRenderCoordinates,l as getRenderCamera,d as remove,u as renderCoordinateTransformAt,a as requestRender,c as toRenderCoordinates};