{"version":3,"file":"canUseNewCanvasBlendModes.mjs","sources":["../../src/utils/canUseNewCanvasBlendModes.ts"],"sourcesContent":["import { settings } from 'pixijs/core';\n\nimport type { ICanvas } from 'pixijs/core';\n\n/**\n * Creates a little colored canvas\n * @ignore\n * @param {string} color - The color to make the canvas\n * @returns {PIXI.ICanvas} a small canvas element\n */\nfunction createColoredCanvas(color: string): ICanvas\n{\n    const canvas = settings.ADAPTER.createCanvas(6, 1);\n    const context = canvas.getContext('2d');\n\n    context.fillStyle = color;\n    context.fillRect(0, 0, 6, 1);\n\n    return canvas;\n}\n\n/**\n * Checks whether the Canvas BlendModes are supported by the current browser\n * @private\n * @returns {boolean} whether they are supported\n */\nexport function canUseNewCanvasBlendModes(): boolean\n{\n    if (typeof document === 'undefined')\n    {\n        return false;\n    }\n\n    const magenta = createColoredCanvas('#ff00ff');\n    const yellow = createColoredCanvas('#ffff00');\n\n    const canvas = settings.ADAPTER.createCanvas(6, 1);\n    const context = canvas.getContext('2d');\n\n    context.globalCompositeOperation = 'multiply';\n    context.drawImage(magenta, 0, 0);\n    context.drawImage(yellow, 2, 0);\n\n    const imageData = context.getImageData(2, 0, 1, 1);\n\n    if (!imageData)\n    {\n        return false;\n    }\n\n    const data = imageData.data;\n\n    return (data[0] === 255 && data[1] === 0 && data[2] === 0);\n}\n"],"names":[],"mappings":";;AAUA,SAAA,mBAAA,CAA6B,KAC7B,EAAA;AACI,EAAA,MAAM,MAAS,GAAA,QAAA,CAAS,OAAQ,CAAA,YAAA,CAAa,GAAG,CAAC,CAAA,CAAA;AACjD,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAEtC,EAAA,OAAA,CAAQ,SAAY,GAAA,KAAA,CAAA;AACpB,EAAA,OAAA,CAAQ,QAAS,CAAA,CAAA,EAAG,CAAG,EAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAE3B,EAAO,OAAA,MAAA,CAAA;AACX,CAAA;AAQA,SAAA,yBAAA,GAAA;AACI,EAAI,IAAA,OAAO,aAAa,WACxB,EAAA;AACI,IAAO,OAAA,KAAA,CAAA;AAAA,GACX;AAEA,EAAM,MAAA,OAAA,GAAU,oBAAoB,SAAS,CAAA,CAAA;AAC7C,EAAM,MAAA,MAAA,GAAS,oBAAoB,SAAS,CAAA,CAAA;AAE5C,EAAA,MAAM,MAAS,GAAA,QAAA,CAAS,OAAQ,CAAA,YAAA,CAAa,GAAG,CAAC,CAAA,CAAA;AACjD,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAEtC,EAAA,OAAA,CAAQ,wBAA2B,GAAA,UAAA,CAAA;AACnC,EAAQ,OAAA,CAAA,SAAA,CAAU,OAAS,EAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAC/B,EAAQ,OAAA,CAAA,SAAA,CAAU,MAAQ,EAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAE9B,EAAA,MAAM,YAAY,OAAQ,CAAA,YAAA,CAAa,CAAG,EAAA,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAEjD,EAAA,IAAI,CAAC,SACL,EAAA;AACI,IAAO,OAAA,KAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,OAAO,SAAU,CAAA,IAAA,CAAA;AAEvB,EAAA,OAAQ,KAAK,CAAO,CAAA,KAAA,GAAA,IAAO,KAAK,CAAO,CAAA,KAAA,CAAA,IAAK,KAAK,CAAO,CAAA,KAAA,CAAA,CAAA;AAC5D;;;;"}