{"version":3,"file":"Graphics.mjs","sources":["../src/Graphics.ts"],"sourcesContent":["import { CanvasRenderer } from 'pixijs/renderer/canvas';\nimport { Matrix, RenderTexture, Texture } from 'pixijs/core';\nimport { Graphics } from 'pixijs/graphics';\n\nimport type { BaseRenderTexture, SCALE_MODES } from 'pixijs/core';\n\nlet canvasRenderer: CanvasRenderer;\nconst tempMatrix = new Matrix();\n\n/**\n * Generates a canvas texture. Only available with **pixijs/browser/legacy** bundle\n * or the **pixijs/graphics/canvas** package.\n * @method generateCanvasTexture\n * @memberof PIXI.Graphics#\n * @param {PIXI.SCALE_MODES} [scaleMode] - The scale mode of the texture.\n * @param {number} resolution - The resolution of the texture.\n * @returns {PIXI.Texture} The new texture.\n */\nGraphics.prototype.generateCanvasTexture = function generateCanvasTexture(scaleMode?: SCALE_MODES, resolution = 1): Texture\n{\n    const bounds = this.getLocalBounds();\n\n    const canvasBuffer = RenderTexture.create({\n        width: bounds.width,\n        height: bounds.height,\n        scaleMode,\n        resolution,\n    });\n\n    if (!canvasRenderer)\n    {\n        canvasRenderer = new CanvasRenderer();\n    }\n\n    this.transform.updateLocalTransform();\n    this.transform.localTransform.copyTo(tempMatrix);\n\n    tempMatrix.invert();\n\n    tempMatrix.tx -= bounds.x;\n    tempMatrix.ty -= bounds.y;\n\n    canvasRenderer.render(this, { renderTexture: canvasBuffer, clear: true, transform: tempMatrix });\n\n    const texture = Texture.from(\n        (canvasBuffer.baseTexture as BaseRenderTexture)._canvasRenderTarget.canvas,\n        { scaleMode });\n\n    texture.baseTexture.setResolution(resolution);\n\n    return texture;\n};\n\nGraphics.prototype.cachedGraphicsData = [];\n\n/**\n * Renders the object using the Canvas renderer\n * @method _renderCanvas\n * @memberof PIXI.Graphics#\n * @private\n * @param {PIXI.CanvasRenderer} renderer - The renderer\n */\nGraphics.prototype._renderCanvas = function _renderCanvas(renderer: CanvasRenderer): void\n{\n    if (this.isMask === true)\n    {\n        return;\n    }\n\n    this.finishPoly();\n    renderer.plugins.graphics.render(this);\n};\n"],"names":[],"mappings":";;;;AAMA,IAAI,cAAA,CAAA;AACJ,MAAM,UAAA,GAAa,IAAI,MAAO,EAAA,CAAA;AAW9B,QAAA,CAAS,SAAU,CAAA,qBAAA,GAAwB,SAA+B,qBAAA,CAAA,SAAA,EAAyB,aAAa,CAChH,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,KAAK,cAAe,EAAA,CAAA;AAEnC,EAAM,MAAA,YAAA,GAAe,cAAc,MAAO,CAAA;AAAA,IACtC,OAAO,MAAO,CAAA,KAAA;AAAA,IACd,QAAQ,MAAO,CAAA,MAAA;AAAA,IACf,SAAA;AAAA,IACA,UAAA;AAAA,GACH,CAAA,CAAA;AAED,EAAA,IAAI,CAAC,cACL,EAAA;AACI,IAAA,cAAA,GAAiB,IAAI,cAAe,EAAA,CAAA;AAAA,GACxC;AAEA,EAAA,IAAA,CAAK,UAAU,oBAAqB,EAAA,CAAA;AACpC,EAAK,IAAA,CAAA,SAAA,CAAU,cAAe,CAAA,MAAA,CAAO,UAAU,CAAA,CAAA;AAE/C,EAAA,UAAA,CAAW,MAAO,EAAA,CAAA;AAElB,EAAA,UAAA,CAAW,MAAM,MAAO,CAAA,CAAA,CAAA;AACxB,EAAA,UAAA,CAAW,MAAM,MAAO,CAAA,CAAA,CAAA;AAExB,EAAe,cAAA,CAAA,MAAA,CAAO,MAAM,EAAE,aAAA,EAAe,cAAc,KAAO,EAAA,IAAA,EAAM,SAAW,EAAA,UAAA,EAAY,CAAA,CAAA;AAE/F,EAAM,MAAA,OAAA,GAAU,QAAQ,IACnB,CAAA,YAAA,CAAa,YAAkC,mBAAoB,CAAA,MAAA,EACpE,EAAE,SAAA,EAAW,CAAA,CAAA;AAEjB,EAAQ,OAAA,CAAA,WAAA,CAAY,cAAc,UAAU,CAAA,CAAA;AAE5C,EAAO,OAAA,OAAA,CAAA;AACX,CAAA,CAAA;AAEA,QAAS,CAAA,SAAA,CAAU,qBAAqB,EAAC,CAAA;AASzC,QAAS,CAAA,SAAA,CAAU,aAAgB,GAAA,SAAA,aAAA,CAAuB,QAC1D,EAAA;AACI,EAAI,IAAA,IAAA,CAAK,WAAW,IACpB,EAAA;AACI,IAAA,OAAA;AAAA,GACJ;AAEA,EAAA,IAAA,CAAK,UAAW,EAAA,CAAA;AAChB,EAAS,QAAA,CAAA,OAAA,CAAQ,QAAS,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AACzC,CAAA"}