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 3.6 kB
{"version":3,"file":"CanvasGraphicsPipe.mjs","sources":["../../../../src/scene/graphics/canvas/CanvasGraphicsPipe.ts"],"sourcesContent":["import { ExtensionType } from '../../../extensions/Extensions';\nimport { State } from '../../../rendering/renderers/shared/state/State';\nimport { GCManagedHash } from '../../../utils/data/GCManagedHash';\n\nimport type { InstructionSet } from '../../../rendering/renderers/shared/instructions/InstructionSet';\nimport type { RenderPipe } from '../../../rendering/renderers/shared/instructions/RenderPipe';\nimport type { Renderer } from '../../../rendering/renderers/types';\nimport type { Graphics } from '../shared/Graphics';\nimport type { GraphicsAdaptor } from '../shared/GraphicsPipe';\n\n/** @internal */\nexport class CanvasGraphicsPipe implements RenderPipe<Graphics>\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.CanvasPipes,\n ],\n name: 'graphics',\n } as const;\n\n public renderer: Renderer;\n public state: State = State.for2d();\n private _adaptor: GraphicsAdaptor;\n private readonly _managedGraphics: GCManagedHash<Graphics>;\n\n constructor(renderer: Renderer, adaptor: GraphicsAdaptor)\n {\n this.renderer = renderer;\n this._adaptor = adaptor;\n this.renderer.runners.contextChange.add(this);\n this._managedGraphics = new GCManagedHash({ renderer, type: 'renderable', priority: -1, name: 'graphics' });\n }\n\n public contextChange(): void\n {\n this._adaptor.contextChange(this.renderer);\n }\n\n public validateRenderable(_graphics: Graphics): boolean\n {\n return false;\n }\n\n public addRenderable(graphics: Graphics, instructionSet: InstructionSet)\n {\n this._managedGraphics.add(graphics);\n this.renderer.renderPipes.batch.break(instructionSet);\n instructionSet.add(graphics);\n }\n\n public updateRenderable(_graphics: Graphics)\n {\n // no-op for canvas\n }\n\n public execute(graphics: Graphics)\n {\n if (!graphics.isRenderable) return;\n\n this._adaptor.execute(this, graphics);\n }\n\n public destroy()\n {\n this._managedGraphics.destroy();\n this.renderer = null;\n\n this._adaptor.destroy();\n this._adaptor = null;\n }\n}\n"],"names":[],"mappings":";;;;;AAWO,MAAM,kBAAA,CACb;AAAA,EAcI,WAAA,CAAY,UAAoB,OAAA,EAChC;AALA,IAAA,IAAA,CAAO,KAAA,GAAe,MAAM,KAAA,EAAM;AAM9B,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAChB,IAAA,IAAA,CAAK,QAAA,GAAW,OAAA;AAChB,IAAA,IAAA,CAAK,QAAA,CAAS,OAAA,CAAQ,aAAA,CAAc,GAAA,CAAI,IAAI,CAAA;AAC5C,IAAA,IAAA,CAAK,gBAAA,GAAmB,IAAI,aAAA,CAAc,EAAE,QAAA,EAAU,IAAA,EAAM,YAAA,EAAc,QAAA,EAAU,CAAA,CAAA,EAAI,IAAA,EAAM,UAAA,EAAY,CAAA;AAAA,EAC9G;AAAA,EAEO,aAAA,GACP;AACI,IAAA,IAAA,CAAK,QAAA,CAAS,aAAA,CAAc,IAAA,CAAK,QAAQ,CAAA;AAAA,EAC7C;AAAA,EAEO,mBAAmB,SAAA,EAC1B;AACI,IAAA,OAAO,KAAA;AAAA,EACX;AAAA,EAEO,aAAA,CAAc,UAAoB,cAAA,EACzC;AACI,IAAA,IAAA,CAAK,gBAAA,CAAiB,IAAI,QAAQ,CAAA;AAClC,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA,CAAY,KAAA,CAAM,KAAA,CAAM,cAAc,CAAA;AACpD,IAAA,cAAA,CAAe,IAAI,QAAQ,CAAA;AAAA,EAC/B;AAAA,EAEO,iBAAiB,SAAA,EACxB;AAAA,EAEA;AAAA,EAEO,QAAQ,QAAA,EACf;AACI,IAAA,IAAI,CAAC,SAAS,YAAA,EAAc;AAE5B,IAAA,IAAA,CAAK,QAAA,CAAS,OAAA,CAAQ,IAAA,EAAM,QAAQ,CAAA;AAAA,EACxC;AAAA,EAEO,OAAA,GACP;AACI,IAAA,IAAA,CAAK,iBAAiB,OAAA,EAAQ;AAC9B,IAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAEhB,IAAA,IAAA,CAAK,SAAS,OAAA,EAAQ;AACtB,IAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,EACpB;AACJ;AAAA;AA5Da,kBAAA,CAGK,SAAA,GAAY;AAAA,EACtB,IAAA,EAAM;AAAA,IACF,aAAA,CAAc;AAAA,GAClB;AAAA,EACA,IAAA,EAAM;AACV,CAAA;;;;"}