1 |
- {"ast":null,"code":"import { IsDocumentAvailable } from \"../Misc/domManagement.js\";\nimport { AbstractEngine } from \"./abstractEngine.js\";\nimport { EngineStore } from \"./engineStore.js\";\n/** @internal */\nfunction _DisableTouchAction(canvas) {\n if (!canvas || !canvas.setAttribute) {\n return;\n }\n canvas.setAttribute(\"touch-action\", \"none\");\n canvas.style.touchAction = \"none\";\n canvas.style.webkitTapHighlightColor = \"transparent\";\n}\n/** @internal */\nexport function _CommonInit(commonEngine, canvas, creationOptions) {\n commonEngine._onCanvasFocus = () => {\n commonEngine.onCanvasFocusObservable.notifyObservers(commonEngine);\n };\n commonEngine._onCanvasBlur = () => {\n commonEngine.onCanvasBlurObservable.notifyObservers(commonEngine);\n };\n commonEngine._onCanvasContextMenu = evt => {\n if (commonEngine.disableContextMenu) {\n evt.preventDefault();\n }\n };\n canvas.addEventListener(\"focus\", commonEngine._onCanvasFocus);\n canvas.addEventListener(\"blur\", commonEngine._onCanvasBlur);\n canvas.addEventListener(\"contextmenu\", commonEngine._onCanvasContextMenu);\n commonEngine._onBlur = () => {\n if (commonEngine.disablePerformanceMonitorInBackground) {\n commonEngine.performanceMonitor.disable();\n }\n commonEngine._windowIsBackground = true;\n };\n commonEngine._onFocus = () => {\n if (commonEngine.disablePerformanceMonitorInBackground) {\n commonEngine.performanceMonitor.enable();\n }\n commonEngine._windowIsBackground = false;\n };\n commonEngine._onCanvasPointerOut = ev => {\n // Check that the element at the point of the pointer out isn't the canvas and if it isn't, notify observers\n // Note: This is a workaround for a bug with Safari\n if (document.elementFromPoint(ev.clientX, ev.clientY) !== canvas) {\n commonEngine.onCanvasPointerOutObservable.notifyObservers(ev);\n }\n };\n const hostWindow = commonEngine.getHostWindow(); // it calls IsWindowObjectExist()\n if (hostWindow && typeof hostWindow.addEventListener === \"function\") {\n hostWindow.addEventListener(\"blur\", commonEngine._onBlur);\n hostWindow.addEventListener(\"focus\", commonEngine._onFocus);\n }\n canvas.addEventListener(\"pointerout\", commonEngine._onCanvasPointerOut);\n if (!creationOptions.doNotHandleTouchAction) {\n _DisableTouchAction(canvas);\n }\n // Create Audio Engine if needed.\n if (!AbstractEngine.audioEngine && creationOptions.audioEngine && AbstractEngine.AudioEngineFactory) {\n AbstractEngine.audioEngine = AbstractEngine.AudioEngineFactory(commonEngine.getRenderingCanvas(), commonEngine.getAudioContext(), commonEngine.getAudioDestination());\n }\n if (IsDocumentAvailable()) {\n // Fullscreen\n commonEngine._onFullscreenChange = () => {\n commonEngine.isFullscreen = !!document.fullscreenElement;\n // Pointer lock\n if (commonEngine.isFullscreen && commonEngine._pointerLockRequested && canvas) {\n RequestPointerlock(canvas);\n }\n };\n document.addEventListener(\"fullscreenchange\", commonEngine._onFullscreenChange, false);\n document.addEventListener(\"webkitfullscreenchange\", commonEngine._onFullscreenChange, false);\n // Pointer lock\n commonEngine._onPointerLockChange = () => {\n commonEngine.isPointerLock = document.pointerLockElement === canvas;\n };\n document.addEventListener(\"pointerlockchange\", commonEngine._onPointerLockChange, false);\n document.addEventListener(\"webkitpointerlockchange\", commonEngine._onPointerLockChange, false);\n }\n commonEngine.enableOfflineSupport = AbstractEngine.OfflineProviderFactory !== undefined;\n commonEngine._deterministicLockstep = !!creationOptions.deterministicLockstep;\n commonEngine._lockstepMaxSteps = creationOptions.lockstepMaxSteps || 0;\n commonEngine._timeStep = creationOptions.timeStep || 1 / 60;\n}\n/** @internal */\nexport function _CommonDispose(commonEngine, canvas) {\n // Release audio engine\n if (EngineStore.Instances.length === 1 && AbstractEngine.audioEngine) {\n AbstractEngine.audioEngine.dispose();\n AbstractEngine.audioEngine = null;\n }\n // Events\n const hostWindow = commonEngine.getHostWindow(); // it calls IsWindowObjectExist()\n if (hostWindow && typeof hostWindow.removeEventListener === \"function\") {\n hostWindow.removeEventListener(\"blur\", commonEngine._onBlur);\n hostWindow.removeEventListener(\"focus\", commonEngine._onFocus);\n }\n if (canvas) {\n canvas.removeEventListener(\"focus\", commonEngine._onCanvasFocus);\n canvas.removeEventListener(\"blur\", commonEngine._onCanvasBlur);\n canvas.removeEventListener(\"pointerout\", commonEngine._onCanvasPointerOut);\n canvas.removeEventListener(\"contextmenu\", commonEngine._onCanvasContextMenu);\n }\n if (IsDocumentAvailable()) {\n document.removeEventListener(\"fullscreenchange\", commonEngine._onFullscreenChange);\n document.removeEventListener(\"mozfullscreenchange\", commonEngine._onFullscreenChange);\n document.removeEventListener(\"webkitfullscreenchange\", commonEngine._onFullscreenChange);\n document.removeEventListener(\"msfullscreenchange\", commonEngine._onFullscreenChange);\n document.removeEventListener(\"pointerlockchange\", commonEngine._onPointerLockChange);\n document.removeEventListener(\"mspointerlockchange\", commonEngine._onPointerLockChange);\n document.removeEventListener(\"mozpointerlockchange\", commonEngine._onPointerLockChange);\n document.removeEventListener(\"webkitpointerlockchange\", commonEngine._onPointerLockChange);\n }\n}\n/**\n * Get Font size information\n * @param font font name\n * @returns an object containing ascent, height and descent\n */\nexport function GetFontOffset(font) {\n const text = document.createElement(\"span\");\n text.textContent = \"Hg\";\n text.style.font = font;\n const block = document.createElement(\"div\");\n block.style.display = \"inline-block\";\n block.style.width = \"1px\";\n block.style.height = \"0px\";\n block.style.verticalAlign = \"bottom\";\n const div = document.createElement(\"div\");\n div.style.whiteSpace = \"nowrap\";\n div.appendChild(text);\n div.appendChild(block);\n document.body.appendChild(div);\n let fontAscent = 0;\n let fontHeight = 0;\n try {\n fontHeight = block.getBoundingClientRect().top - text.getBoundingClientRect().top;\n block.style.verticalAlign = \"baseline\";\n fontAscent = block.getBoundingClientRect().top - text.getBoundingClientRect().top;\n } finally {\n document.body.removeChild(div);\n }\n return {\n ascent: fontAscent,\n height: fontHeight,\n descent: fontHeight - fontAscent\n };\n}\n/** @internal */\nexport function CreateImageBitmapFromSource(engine, imageSource, options) {\n const promise = new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = () => {\n image.decode().then(() => {\n engine.createImageBitmap(image, options).then(imageBitmap => {\n resolve(imageBitmap);\n });\n });\n };\n image.onerror = () => {\n reject(`Error loading image ${image.src}`);\n };\n image.src = imageSource;\n });\n return promise;\n}\n/** @internal */\nexport function ResizeImageBitmap(engine, image, bufferWidth, bufferHeight) {\n const canvas = engine.createCanvas(bufferWidth, bufferHeight);\n const context = canvas.getContext(\"2d\");\n if (!context) {\n throw new Error(\"Unable to get 2d context for resizeImageBitmap\");\n }\n context.drawImage(image, 0, 0);\n // Create VertexData from map data\n // Cast is due to wrong definition in lib.d.ts from ts 1.3 - https://github.com/Microsoft/TypeScript/issues/949\n const buffer = context.getImageData(0, 0, bufferWidth, bufferHeight).data;\n return buffer;\n}\n/**\n * Ask the browser to promote the current element to fullscreen rendering mode\n * @param element defines the DOM element to promote\n */\nexport function RequestFullscreen(element) {\n const requestFunction = element.requestFullscreen || element.webkitRequestFullscreen;\n if (!requestFunction) {\n return;\n }\n requestFunction.call(element);\n}\n/**\n * Asks the browser to exit fullscreen mode\n */\nexport function ExitFullscreen() {\n const anyDoc = document;\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (anyDoc.webkitCancelFullScreen) {\n anyDoc.webkitCancelFullScreen();\n }\n}\n/**\n * Ask the browser to promote the current element to pointerlock mode\n * @param element defines the DOM element to promote\n */\nexport function RequestPointerlock(element) {\n if (element.requestPointerLock) {\n // In some browsers, requestPointerLock returns a promise.\n // Handle possible rejections to avoid an unhandled top-level exception.\n const promise = element.requestPointerLock();\n if (promise instanceof Promise) promise.then(() => {\n element.focus();\n }).catch(() => {});else element.focus();\n }\n}\n/**\n * Asks the browser to exit pointerlock mode\n */\nexport function ExitPointerlock() {\n if (document.exitPointerLock) {\n document.exitPointerLock();\n }\n}","map":{"version":3,"names":["IsDocumentAvailable","AbstractEngine","EngineStore","_DisableTouchAction","canvas","setAttribute","style","touchAction","webkitTapHighlightColor","_CommonInit","commonEngine","creationOptions","_onCanvasFocus","onCanvasFocusObservable","notifyObservers","_onCanvasBlur","onCanvasBlurObservable","_onCanvasContextMenu","evt","disableContextMenu","preventDefault","addEventListener","_onBlur","disablePerformanceMonitorInBackground","performanceMonitor","disable","_windowIsBackground","_onFocus","enable","_onCanvasPointerOut","ev","document","elementFromPoint","clientX","clientY","onCanvasPointerOutObservable","hostWindow","getHostWindow","doNotHandleTouchAction","audioEngine","AudioEngineFactory","getRenderingCanvas","getAudioContext","getAudioDestination","_onFullscreenChange","isFullscreen","fullscreenElement","_pointerLockRequested","RequestPointerlock","_onPointerLockChange","isPointerLock","pointerLockElement","enableOfflineSupport","OfflineProviderFactory","undefined","_deterministicLockstep","deterministicLockstep","_lockstepMaxSteps","lockstepMaxSteps","_timeStep","timeStep","_CommonDispose","Instances","length","dispose","removeEventListener","GetFontOffset","font","text","createElement","textContent","block","display","width","height","verticalAlign","div","whiteSpace","appendChild","body","fontAscent","fontHeight","getBoundingClientRect","top","removeChild","ascent","descent","CreateImageBitmapFromSource","engine","imageSource","options","promise","Promise","resolve","reject","image","Image","onload","decode","then","createImageBitmap","imageBitmap","onerror","src","ResizeImageBitmap","bufferWidth","bufferHeight","createCanvas","context","getContext","Error","drawImage","buffer","getImageData","data","RequestFullscreen","element","requestFunction","requestFullscreen","webkitRequestFullscreen","call","ExitFullscreen","anyDoc","exitFullscreen","webkitCancelFullScreen","requestPointerLock","focus","catch","ExitPointerlock","exitPointerLock"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Engines/engine.common.js"],"sourcesContent":["import { IsDocumentAvailable } from \"../Misc/domManagement.js\";\nimport { AbstractEngine } from \"./abstractEngine.js\";\nimport { EngineStore } from \"./engineStore.js\";\n/** @internal */\nfunction _DisableTouchAction(canvas) {\n if (!canvas || !canvas.setAttribute) {\n return;\n }\n canvas.setAttribute(\"touch-action\", \"none\");\n canvas.style.touchAction = \"none\";\n canvas.style.webkitTapHighlightColor = \"transparent\";\n}\n/** @internal */\nexport function _CommonInit(commonEngine, canvas, creationOptions) {\n commonEngine._onCanvasFocus = () => {\n commonEngine.onCanvasFocusObservable.notifyObservers(commonEngine);\n };\n commonEngine._onCanvasBlur = () => {\n commonEngine.onCanvasBlurObservable.notifyObservers(commonEngine);\n };\n commonEngine._onCanvasContextMenu = (evt) => {\n if (commonEngine.disableContextMenu) {\n evt.preventDefault();\n }\n };\n canvas.addEventListener(\"focus\", commonEngine._onCanvasFocus);\n canvas.addEventListener(\"blur\", commonEngine._onCanvasBlur);\n canvas.addEventListener(\"contextmenu\", commonEngine._onCanvasContextMenu);\n commonEngine._onBlur = () => {\n if (commonEngine.disablePerformanceMonitorInBackground) {\n commonEngine.performanceMonitor.disable();\n }\n commonEngine._windowIsBackground = true;\n };\n commonEngine._onFocus = () => {\n if (commonEngine.disablePerformanceMonitorInBackground) {\n commonEngine.performanceMonitor.enable();\n }\n commonEngine._windowIsBackground = false;\n };\n commonEngine._onCanvasPointerOut = (ev) => {\n // Check that the element at the point of the pointer out isn't the canvas and if it isn't, notify observers\n // Note: This is a workaround for a bug with Safari\n if (document.elementFromPoint(ev.clientX, ev.clientY) !== canvas) {\n commonEngine.onCanvasPointerOutObservable.notifyObservers(ev);\n }\n };\n const hostWindow = commonEngine.getHostWindow(); // it calls IsWindowObjectExist()\n if (hostWindow && typeof hostWindow.addEventListener === \"function\") {\n hostWindow.addEventListener(\"blur\", commonEngine._onBlur);\n hostWindow.addEventListener(\"focus\", commonEngine._onFocus);\n }\n canvas.addEventListener(\"pointerout\", commonEngine._onCanvasPointerOut);\n if (!creationOptions.doNotHandleTouchAction) {\n _DisableTouchAction(canvas);\n }\n // Create Audio Engine if needed.\n if (!AbstractEngine.audioEngine && creationOptions.audioEngine && AbstractEngine.AudioEngineFactory) {\n AbstractEngine.audioEngine = AbstractEngine.AudioEngineFactory(commonEngine.getRenderingCanvas(), commonEngine.getAudioContext(), commonEngine.getAudioDestination());\n }\n if (IsDocumentAvailable()) {\n // Fullscreen\n commonEngine._onFullscreenChange = () => {\n commonEngine.isFullscreen = !!document.fullscreenElement;\n // Pointer lock\n if (commonEngine.isFullscreen && commonEngine._pointerLockRequested && canvas) {\n RequestPointerlock(canvas);\n }\n };\n document.addEventListener(\"fullscreenchange\", commonEngine._onFullscreenChange, false);\n document.addEventListener(\"webkitfullscreenchange\", commonEngine._onFullscreenChange, false);\n // Pointer lock\n commonEngine._onPointerLockChange = () => {\n commonEngine.isPointerLock = document.pointerLockElement === canvas;\n };\n document.addEventListener(\"pointerlockchange\", commonEngine._onPointerLockChange, false);\n document.addEventListener(\"webkitpointerlockchange\", commonEngine._onPointerLockChange, false);\n }\n commonEngine.enableOfflineSupport = AbstractEngine.OfflineProviderFactory !== undefined;\n commonEngine._deterministicLockstep = !!creationOptions.deterministicLockstep;\n commonEngine._lockstepMaxSteps = creationOptions.lockstepMaxSteps || 0;\n commonEngine._timeStep = creationOptions.timeStep || 1 / 60;\n}\n/** @internal */\nexport function _CommonDispose(commonEngine, canvas) {\n // Release audio engine\n if (EngineStore.Instances.length === 1 && AbstractEngine.audioEngine) {\n AbstractEngine.audioEngine.dispose();\n AbstractEngine.audioEngine = null;\n }\n // Events\n const hostWindow = commonEngine.getHostWindow(); // it calls IsWindowObjectExist()\n if (hostWindow && typeof hostWindow.removeEventListener === \"function\") {\n hostWindow.removeEventListener(\"blur\", commonEngine._onBlur);\n hostWindow.removeEventListener(\"focus\", commonEngine._onFocus);\n }\n if (canvas) {\n canvas.removeEventListener(\"focus\", commonEngine._onCanvasFocus);\n canvas.removeEventListener(\"blur\", commonEngine._onCanvasBlur);\n canvas.removeEventListener(\"pointerout\", commonEngine._onCanvasPointerOut);\n canvas.removeEventListener(\"contextmenu\", commonEngine._onCanvasContextMenu);\n }\n if (IsDocumentAvailable()) {\n document.removeEventListener(\"fullscreenchange\", commonEngine._onFullscreenChange);\n document.removeEventListener(\"mozfullscreenchange\", commonEngine._onFullscreenChange);\n document.removeEventListener(\"webkitfullscreenchange\", commonEngine._onFullscreenChange);\n document.removeEventListener(\"msfullscreenchange\", commonEngine._onFullscreenChange);\n document.removeEventListener(\"pointerlockchange\", commonEngine._onPointerLockChange);\n document.removeEventListener(\"mspointerlockchange\", commonEngine._onPointerLockChange);\n document.removeEventListener(\"mozpointerlockchange\", commonEngine._onPointerLockChange);\n document.removeEventListener(\"webkitpointerlockchange\", commonEngine._onPointerLockChange);\n }\n}\n/**\n * Get Font size information\n * @param font font name\n * @returns an object containing ascent, height and descent\n */\nexport function GetFontOffset(font) {\n const text = document.createElement(\"span\");\n text.textContent = \"Hg\";\n text.style.font = font;\n const block = document.createElement(\"div\");\n block.style.display = \"inline-block\";\n block.style.width = \"1px\";\n block.style.height = \"0px\";\n block.style.verticalAlign = \"bottom\";\n const div = document.createElement(\"div\");\n div.style.whiteSpace = \"nowrap\";\n div.appendChild(text);\n div.appendChild(block);\n document.body.appendChild(div);\n let fontAscent = 0;\n let fontHeight = 0;\n try {\n fontHeight = block.getBoundingClientRect().top - text.getBoundingClientRect().top;\n block.style.verticalAlign = \"baseline\";\n fontAscent = block.getBoundingClientRect().top - text.getBoundingClientRect().top;\n }\n finally {\n document.body.removeChild(div);\n }\n return { ascent: fontAscent, height: fontHeight, descent: fontHeight - fontAscent };\n}\n/** @internal */\nexport function CreateImageBitmapFromSource(engine, imageSource, options) {\n const promise = new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = () => {\n image.decode().then(() => {\n engine.createImageBitmap(image, options).then((imageBitmap) => {\n resolve(imageBitmap);\n });\n });\n };\n image.onerror = () => {\n reject(`Error loading image ${image.src}`);\n };\n image.src = imageSource;\n });\n return promise;\n}\n/** @internal */\nexport function ResizeImageBitmap(engine, image, bufferWidth, bufferHeight) {\n const canvas = engine.createCanvas(bufferWidth, bufferHeight);\n const context = canvas.getContext(\"2d\");\n if (!context) {\n throw new Error(\"Unable to get 2d context for resizeImageBitmap\");\n }\n context.drawImage(image, 0, 0);\n // Create VertexData from map data\n // Cast is due to wrong definition in lib.d.ts from ts 1.3 - https://github.com/Microsoft/TypeScript/issues/949\n const buffer = context.getImageData(0, 0, bufferWidth, bufferHeight).data;\n return buffer;\n}\n/**\n * Ask the browser to promote the current element to fullscreen rendering mode\n * @param element defines the DOM element to promote\n */\nexport function RequestFullscreen(element) {\n const requestFunction = element.requestFullscreen || element.webkitRequestFullscreen;\n if (!requestFunction) {\n return;\n }\n requestFunction.call(element);\n}\n/**\n * Asks the browser to exit fullscreen mode\n */\nexport function ExitFullscreen() {\n const anyDoc = document;\n if (document.exitFullscreen) {\n document.exitFullscreen();\n }\n else if (anyDoc.webkitCancelFullScreen) {\n anyDoc.webkitCancelFullScreen();\n }\n}\n/**\n * Ask the browser to promote the current element to pointerlock mode\n * @param element defines the DOM element to promote\n */\nexport function RequestPointerlock(element) {\n if (element.requestPointerLock) {\n // In some browsers, requestPointerLock returns a promise.\n // Handle possible rejections to avoid an unhandled top-level exception.\n const promise = element.requestPointerLock();\n if (promise instanceof Promise)\n promise\n .then(() => {\n element.focus();\n })\n .catch(() => { });\n else\n element.focus();\n }\n}\n/**\n * Asks the browser to exit pointerlock mode\n */\nexport function ExitPointerlock() {\n if (document.exitPointerLock) {\n document.exitPointerLock();\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|