pixi.js
Version:
PixiJS — The HTML5 Creation Engine =============
1 lines • 2.05 kB
Source Map (JSON)
{"version":3,"file":"getCanvasTexture.mjs","sources":["../../../../../../src/rendering/renderers/shared/texture/utils/getCanvasTexture.ts"],"sourcesContent":["import { 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> = new Map();\n\nexport function getCanvasTexture(canvas: ICanvas, options?: CanvasSourceOptions): Texture\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\nexport function hasCachedCanvasTexture(canvas: ICanvas): boolean\n{\n return canvasCache.has(canvas);\n}\n"],"names":[],"mappings":";;;;AAMA,MAAM,WAAA,uBAAyC,GAAI,EAAA,CAAA;AAEnC,SAAA,gBAAA,CAAiB,QAAiB,OAClD,EAAA;AACI,EAAA,IAAI,CAAC,WAAA,CAAY,GAAI,CAAA,MAAM,CAC3B,EAAA;AACI,IAAM,MAAA,OAAA,GAAU,IAAI,OAAQ,CAAA;AAAA,MACxB,MAAA,EAAQ,IAAI,YAAa,CAAA;AAAA,QACrB,QAAU,EAAA,MAAA;AAAA,QACV,GAAG,OAAA;AAAA,OACN,CAAA;AAAA,KACJ,CAAA,CAAA;AAED,IAAA,MAAM,YAAY,MAClB;AACI,MAAA,IAAI,WAAY,CAAA,GAAA,CAAI,MAAM,CAAA,KAAM,OAChC,EAAA;AACI,QAAA,WAAA,CAAY,OAAO,MAAM,CAAA,CAAA;AAAA,OAC7B;AAAA,KACJ,CAAA;AAEA,IAAQ,OAAA,CAAA,IAAA,CAAK,WAAW,SAAS,CAAA,CAAA;AACjC,IAAQ,OAAA,CAAA,MAAA,CAAO,IAAK,CAAA,SAAA,EAAW,SAAS,CAAA,CAAA;AAExC,IAAY,WAAA,CAAA,GAAA,CAAI,QAAQ,OAAO,CAAA,CAAA;AAAA,GACnC;AAEA,EAAO,OAAA,WAAA,CAAY,IAAI,MAAM,CAAA,CAAA;AACjC,CAAA;AAEO,SAAS,uBAAuB,MACvC,EAAA;AACI,EAAO,OAAA,WAAA,CAAY,IAAI,MAAM,CAAA,CAAA;AACjC;;;;"}