pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
1 lines • 2.3 kB
Source Map (JSON)
{"version":3,"file":"getCanvasTexture.mjs","sources":["../../../../../../src/rendering/renderers/shared/texture/utils/getCanvasTexture.ts"],"sourcesContent":["import { GlobalResourceRegistry } from '../../../../../utils/pool/GlobalResourceRegistry';\nimport { CanvasSource } from '../sources/CanvasSource';\nimport { Texture } from '../Texture';\n\nimport type { ICanvas } from '../../../../../environment/canvas/ICanvas';\nimport type { CanvasSourceOptions } from '../sources/CanvasSource';\n\nconst canvasCache: Map<ICanvas, Texture<CanvasSource>> = new Map();\n\nGlobalResourceRegistry.register(canvasCache);\n\n/**\n * @param canvas\n * @param options\n * @internal\n */\nexport function getCanvasTexture(canvas: ICanvas, options?: CanvasSourceOptions): Texture<CanvasSource>\n{\n if (!canvasCache.has(canvas))\n {\n const texture = new Texture({\n source: new CanvasSource({\n resource: canvas,\n ...options,\n })\n });\n\n const onDestroy = () =>\n {\n if (canvasCache.get(canvas) === texture)\n {\n canvasCache.delete(canvas);\n }\n };\n\n texture.once('destroy', onDestroy);\n texture.source.once('destroy', onDestroy);\n\n canvasCache.set(canvas, texture);\n }\n\n return canvasCache.get(canvas);\n}\n\n/**\n * @param canvas\n * @internal\n */\nexport function hasCachedCanvasTexture(canvas: ICanvas): boolean\n{\n return canvasCache.has(canvas);\n}\n"],"names":[],"mappings":";;;;;AAOA,MAAM,WAAA,uBAAuD,GAAA,EAAI;AAEjE,sBAAA,CAAuB,SAAS,WAAW,CAAA;AAOpC,SAAS,gBAAA,CAAiB,QAAiB,OAAA,EAClD;AACI,EAAA,IAAI,CAAC,WAAA,CAAY,GAAA,CAAI,MAAM,CAAA,EAC3B;AACI,IAAA,MAAM,OAAA,GAAU,IAAI,OAAA,CAAQ;AAAA,MACxB,MAAA,EAAQ,IAAI,YAAA,CAAa;AAAA,QACrB,QAAA,EAAU,MAAA;AAAA,QACV,GAAG;AAAA,OACN;AAAA,KACJ,CAAA;AAED,IAAA,MAAM,YAAY,MAClB;AACI,MAAA,IAAI,WAAA,CAAY,GAAA,CAAI,MAAM,CAAA,KAAM,OAAA,EAChC;AACI,QAAA,WAAA,CAAY,OAAO,MAAM,CAAA;AAAA,MAC7B;AAAA,IACJ,CAAA;AAEA,IAAA,OAAA,CAAQ,IAAA,CAAK,WAAW,SAAS,CAAA;AACjC,IAAA,OAAA,CAAQ,MAAA,CAAO,IAAA,CAAK,SAAA,EAAW,SAAS,CAAA;AAExC,IAAA,WAAA,CAAY,GAAA,CAAI,QAAQ,OAAO,CAAA;AAAA,EACnC;AAEA,EAAA,OAAO,WAAA,CAAY,IAAI,MAAM,CAAA;AACjC;AAMO,SAAS,uBAAuB,MAAA,EACvC;AACI,EAAA,OAAO,WAAA,CAAY,IAAI,MAAM,CAAA;AACjC;;;;"}