UNPKG

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 5.51 kB
{"version":3,"file":"CanvasRenderer.mjs","sources":["../../../../src/rendering/renderers/canvas/CanvasRenderer.ts"],"sourcesContent":["import { extensions, ExtensionType } from '../../../extensions/Extensions';\nimport { CustomRenderPipe } from '../../../scene/container/CustomRenderPipe';\nimport { RenderGroupPipe } from '../../../scene/container/RenderGroupPipe';\nimport { CanvasGraphicsAdaptor } from '../../../scene/graphics/canvas/CanvasGraphicsAdaptor';\nimport { SpritePipe } from '../../../scene/sprite/SpritePipe';\nimport { CanvasBatchAdaptor } from '../../batcher/canvas/CanvasBatchAdaptor';\nimport { BatcherPipe } from '../../batcher/shared/BatcherPipe';\nimport { AlphaMaskPipe } from '../../mask/alpha/AlphaMaskPipe';\nimport { CanvasColorMaskPipe } from '../../mask/color/CanvasColorMaskPipe';\nimport { CanvasStencilMaskPipe } from '../../mask/stencil/CanvasStencilMaskPipe';\nimport { BlendModePipe } from '../shared/blendModes/BlendModePipe';\nimport { AbstractRenderer } from '../shared/system/AbstractRenderer';\nimport { SharedSystems } from '../shared/system/SharedSystems';\nimport { RendererType } from '../types';\nimport { CanvasContextSystem } from './CanvasContextSystem';\nimport { CanvasLimitsSystem } from './CanvasLimitsSystem';\nimport { CanvasRenderTargetSystem } from './renderTarget/CanvasRenderTargetSystem';\nimport { CanvasTextureSystem } from './texture/CanvasTextureSystem';\n\nimport type { ICanvas } from '../../../environment/canvas/ICanvas';\nimport type { PipeConstructor } from '../shared/instructions/RenderPipe';\nimport type { SharedRendererOptions } from '../shared/system/SharedSystems';\nimport type { SystemConstructor } from '../shared/system/System';\nimport type { ExtractRendererOptions, ExtractSystemTypes } from '../shared/system/utils/typeUtils';\n\nconst DefaultCanvasSystems = [\n ...SharedSystems,\n CanvasContextSystem,\n CanvasLimitsSystem,\n CanvasTextureSystem,\n CanvasRenderTargetSystem,\n];\n\nconst DefaultCanvasPipes = [\n BlendModePipe,\n BatcherPipe,\n SpritePipe,\n RenderGroupPipe,\n AlphaMaskPipe,\n CanvasStencilMaskPipe,\n CanvasColorMaskPipe,\n CustomRenderPipe,\n];\nconst DefaultCanvasAdapters = [\n CanvasBatchAdaptor,\n CanvasGraphicsAdaptor,\n];\n\n// installed systems will be added to this array by the extensions manager.\nconst systems: { name: string; value: SystemConstructor }[] = [];\nconst renderPipes: { name: string; value: PipeConstructor }[] = [];\nconst renderPipeAdaptors: { name: string; value: any }[] = [];\n\nextensions.handleByNamedList(ExtensionType.CanvasSystem, systems);\nextensions.handleByNamedList(ExtensionType.CanvasPipes, renderPipes);\nextensions.handleByNamedList(ExtensionType.CanvasPipesAdaptor, renderPipeAdaptors);\n\n// add all the default systems as well as any user defined ones from the extensions\nextensions.add(...DefaultCanvasSystems, ...DefaultCanvasPipes, ...DefaultCanvasAdapters);\n\n/**\n * The default Canvas systems. These are the systems that are added by default to the CanvasRenderer.\n * @category rendering\n * @standard\n * @interface\n */\nexport type CanvasSystems = ExtractSystemTypes<typeof DefaultCanvasSystems>\n& PixiMixins.RendererSystems & PixiMixins.CanvasSystems;\n\n/**\n * The Canvas renderer pipes. These are used to render the scene.\n * @see {@link CanvasRenderer}\n * @internal\n */\nexport type CanvasPipes = ExtractSystemTypes<typeof DefaultCanvasPipes> & PixiMixins.RendererPipes & PixiMixins.CanvasPipes;\n\n/**\n * Options for CanvasRenderer.\n * @category rendering\n * @standard\n */\nexport interface CanvasOptions\n extends\n SharedRendererOptions,\n ExtractRendererOptions<typeof DefaultCanvasSystems>,\n PixiMixins.CanvasOptions {}\n\n// eslint-disable-next-line requireExport/require-export-jsdoc, requireMemberAPI/require-member-api-doc\nexport interface CanvasRenderer<T extends ICanvas = HTMLCanvasElement>\n extends AbstractRenderer<CanvasPipes, CanvasOptions, T>,\n CanvasSystems {}\n\n/**\n * The Canvas PixiJS Renderer. This renderer allows you to use the HTML Canvas 2D context.\n * @category rendering\n * @standard\n */\nexport class CanvasRenderer<T extends ICanvas = HTMLCanvasElement>\n extends AbstractRenderer<CanvasPipes, CanvasOptions, T>\n implements CanvasSystems\n{\n constructor()\n {\n const systemConfig = {\n name: 'canvas',\n type: RendererType.CANVAS,\n systems,\n renderPipes,\n renderPipeAdaptors,\n };\n\n super(systemConfig);\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,oBAAA,GAAuB;AAAA,EACzB,GAAG,aAAA;AAAA,EACH,mBAAA;AAAA,EACA,kBAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACJ,CAAA;AAEA,MAAM,kBAAA,GAAqB;AAAA,EACvB,aAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,qBAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACJ,CAAA;AACA,MAAM,qBAAA,GAAwB;AAAA,EAC1B,kBAAA;AAAA,EACA;AACJ,CAAA;AAGA,MAAM,UAAwD,EAAC;AAC/D,MAAM,cAA0D,EAAC;AACjE,MAAM,qBAAqD,EAAC;AAE5D,UAAA,CAAW,iBAAA,CAAkB,aAAA,CAAc,YAAA,EAAc,OAAO,CAAA;AAChE,UAAA,CAAW,iBAAA,CAAkB,aAAA,CAAc,WAAA,EAAa,WAAW,CAAA;AACnE,UAAA,CAAW,iBAAA,CAAkB,aAAA,CAAc,kBAAA,EAAoB,kBAAkB,CAAA;AAGjF,UAAA,CAAW,IAAI,GAAG,oBAAA,EAAsB,GAAG,kBAAA,EAAoB,GAAG,qBAAqB,CAAA;AAuChF,MAAM,uBACD,gBAAA,CAEZ;AAAA,EACI,WAAA,GACA;AACI,IAAA,MAAM,YAAA,GAAe;AAAA,MACjB,IAAA,EAAM,QAAA;AAAA,MACN,MAAM,YAAA,CAAa,MAAA;AAAA,MACnB,OAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA,KACJ;AAEA,IAAA,KAAA,CAAM,YAAY,CAAA;AAAA,EACtB;AACJ;;;;"}