{"version":3,"file":"mapCanvasBlendModesToPixi.mjs","sources":["../../src/utils/mapCanvasBlendModesToPixi.ts"],"sourcesContent":["import { BLEND_MODES } from '@pixi/core';\nimport { canUseNewCanvasBlendModes } from './canUseNewCanvasBlendModes';\n\n/**\n * Maps blend combinations to Canvas.\n * @memberof PIXI\n * @function mapCanvasBlendModesToPixi\n * @private\n * @param {string[]} [array=[]] - The array to output into.\n * @returns {string[]} Mapped modes.\n */\n// TODO after upgrading to typeScript 4.6, replace `string[]` with `GlobalCompositeOperation[]`\nexport function mapCanvasBlendModesToPixi(array: string[] = []): string[]\n{\n    if (canUseNewCanvasBlendModes())\n    {\n        array[BLEND_MODES.NORMAL] = 'source-over';\n        array[BLEND_MODES.ADD] = 'lighter'; // IS THIS OK???\n        array[BLEND_MODES.MULTIPLY] = 'multiply';\n        array[BLEND_MODES.SCREEN] = 'screen';\n        array[BLEND_MODES.OVERLAY] = 'overlay';\n        array[BLEND_MODES.DARKEN] = 'darken';\n        array[BLEND_MODES.LIGHTEN] = 'lighten';\n        array[BLEND_MODES.COLOR_DODGE] = 'color-dodge';\n        array[BLEND_MODES.COLOR_BURN] = 'color-burn';\n        array[BLEND_MODES.HARD_LIGHT] = 'hard-light';\n        array[BLEND_MODES.SOFT_LIGHT] = 'soft-light';\n        array[BLEND_MODES.DIFFERENCE] = 'difference';\n        array[BLEND_MODES.EXCLUSION] = 'exclusion';\n        array[BLEND_MODES.HUE] = 'hue';\n        array[BLEND_MODES.SATURATION] = 'saturation';\n        array[BLEND_MODES.COLOR] = 'color';\n        array[BLEND_MODES.LUMINOSITY] = 'luminosity';\n    }\n    else\n    {\n        // this means that the browser does not support the cool new blend modes in canvas 'cough' ie 'cough'\n        array[BLEND_MODES.NORMAL] = 'source-over';\n        array[BLEND_MODES.ADD] = 'lighter'; // IS THIS OK???\n        array[BLEND_MODES.MULTIPLY] = 'source-over';\n        array[BLEND_MODES.SCREEN] = 'source-over';\n        array[BLEND_MODES.OVERLAY] = 'source-over';\n        array[BLEND_MODES.DARKEN] = 'source-over';\n        array[BLEND_MODES.LIGHTEN] = 'source-over';\n        array[BLEND_MODES.COLOR_DODGE] = 'source-over';\n        array[BLEND_MODES.COLOR_BURN] = 'source-over';\n        array[BLEND_MODES.HARD_LIGHT] = 'source-over';\n        array[BLEND_MODES.SOFT_LIGHT] = 'source-over';\n        array[BLEND_MODES.DIFFERENCE] = 'source-over';\n        array[BLEND_MODES.EXCLUSION] = 'source-over';\n        array[BLEND_MODES.HUE] = 'source-over';\n        array[BLEND_MODES.SATURATION] = 'source-over';\n        array[BLEND_MODES.COLOR] = 'source-over';\n        array[BLEND_MODES.LUMINOSITY] = 'source-over';\n    }\n    // not-premultiplied, only for webgl\n    array[BLEND_MODES.NORMAL_NPM] = array[BLEND_MODES.NORMAL];\n    array[BLEND_MODES.ADD_NPM] = array[BLEND_MODES.ADD];\n    array[BLEND_MODES.SCREEN_NPM] = array[BLEND_MODES.SCREEN];\n\n    // composite operations\n    array[BLEND_MODES.SRC_IN] = 'source-in';\n    array[BLEND_MODES.SRC_OUT] = 'source-out';\n    array[BLEND_MODES.SRC_ATOP] = 'source-atop';\n    array[BLEND_MODES.DST_OVER] = 'destination-over';\n    array[BLEND_MODES.DST_IN] = 'destination-in';\n    array[BLEND_MODES.DST_OUT] = 'destination-out';\n    array[BLEND_MODES.DST_ATOP] = 'destination-atop';\n    array[BLEND_MODES.XOR] = 'xor';\n\n    // SUBTRACT from flash, does not exist in canvas\n    array[BLEND_MODES.SUBTRACT] = 'source-over';\n\n    return array;\n}\n"],"names":[],"mappings":";;AAYgB,SAAA,0BAA0B,QAAkB,IAC5D;AACQ,SAAA,0BAEA,KAAA,MAAM,YAAY,MAAM,IAAI,eAC5B,MAAM,YAAY,GAAG,IAAI,WACzB,MAAM,YAAY,QAAQ,IAAI,YAC9B,MAAM,YAAY,MAAM,IAAI,UAC5B,MAAM,YAAY,OAAO,IAAI,WAC7B,MAAM,YAAY,MAAM,IAAI,UAC5B,MAAM,YAAY,OAAO,IAAI,WAC7B,MAAM,YAAY,WAAW,IAAI,eACjC,MAAM,YAAY,UAAU,IAAI,cAChC,MAAM,YAAY,UAAU,IAAI,cAChC,MAAM,YAAY,UAAU,IAAI,cAChC,MAAM,YAAY,UAAU,IAAI,cAChC,MAAM,YAAY,SAAS,IAAI,aAC/B,MAAM,YAAY,GAAG,IAAI,OACzB,MAAM,YAAY,UAAU,IAAI,cAChC,MAAM,YAAY,KAAK,IAAI,SAC3B,MAAM,YAAY,UAAU,IAAI,iBAKhC,MAAM,YAAY,MAAM,IAAI,eAC5B,MAAM,YAAY,GAAG,IAAI,WACzB,MAAM,YAAY,QAAQ,IAAI,eAC9B,MAAM,YAAY,MAAM,IAAI,eAC5B,MAAM,YAAY,OAAO,IAAI,eAC7B,MAAM,YAAY,MAAM,IAAI,eAC5B,MAAM,YAAY,OAAO,IAAI,eAC7B,MAAM,YAAY,WAAW,IAAI,eACjC,MAAM,YAAY,UAAU,IAAI,eAChC,MAAM,YAAY,UAAU,IAAI,eAChC,MAAM,YAAY,UAAU,IAAI,eAChC,MAAM,YAAY,UAAU,IAAI,eAChC,MAAM,YAAY,SAAS,IAAI,eAC/B,MAAM,YAAY,GAAG,IAAI,eACzB,MAAM,YAAY,UAAU,IAAI,eAChC,MAAM,YAAY,KAAK,IAAI,eAC3B,MAAM,YAAY,UAAU,IAAI,gBAGpC,MAAM,YAAY,UAAU,IAAI,MAAM,YAAY,MAAM,GACxD,MAAM,YAAY,OAAO,IAAI,MAAM,YAAY,GAAG,GAClD,MAAM,YAAY,UAAU,IAAI,MAAM,YAAY,MAAM,GAGxD,MAAM,YAAY,MAAM,IAAI,aAC5B,MAAM,YAAY,OAAO,IAAI,cAC7B,MAAM,YAAY,QAAQ,IAAI,eAC9B,MAAM,YAAY,QAAQ,IAAI,oBAC9B,MAAM,YAAY,MAAM,IAAI,kBAC5B,MAAM,YAAY,OAAO,IAAI,mBAC7B,MAAM,YAAY,QAAQ,IAAI,oBAC9B,MAAM,YAAY,GAAG,IAAI,OAGzB,MAAM,YAAY,QAAQ,IAAI,eAEvB;AACX;"}