Source: \core\renderers\canvas\utils\mapCanvasBlendModesToPixi.js
import { BLEND_MODES } from '../../../const';
import canUseNewCanvasBlendModes from './canUseNewCanvasBlendModes';
/**
* Maps blend combinations to Canvas.
*
* @memberof PIXI
* @function mapCanvasBlendModesToPixi
* @private
* @param {string[]} [array=[]] - The array to output into.
* @return {string[]} Mapped modes.
*/
export default function mapCanvasBlendModesToPixi(array = [])
{
if (canUseNewCanvasBlendModes())
{
array[BLEND_MODES.NORMAL] = 'source-over';
array[BLEND_MODES.ADD] = 'lighter'; // IS THIS OK???
array[BLEND_MODES.MULTIPLY] = 'multiply';
array[BLEND_MODES.SCREEN] = 'screen';
array[BLEND_MODES.OVERLAY] = 'overlay';
array[BLEND_MODES.DARKEN] = 'darken';
array[BLEND_MODES.LIGHTEN] = 'lighten';
array[BLEND_MODES.COLOR_DODGE] = 'color-dodge';
array[BLEND_MODES.COLOR_BURN] = 'color-burn';
array[BLEND_MODES.HARD_LIGHT] = 'hard-light';
array[BLEND_MODES.SOFT_LIGHT] = 'soft-light';
array[BLEND_MODES.DIFFERENCE] = 'difference';
array[BLEND_MODES.EXCLUSION] = 'exclusion';
array[BLEND_MODES.HUE] = 'hue';
array[BLEND_MODES.SATURATION] = 'saturate';
array[BLEND_MODES.COLOR] = 'color';
array[BLEND_MODES.LUMINOSITY] = 'luminosity';
}
else
{
// this means that the browser does not support the cool new blend modes in canvas 'cough' ie 'cough'
array[BLEND_MODES.NORMAL] = 'source-over';
array[BLEND_MODES.ADD] = 'lighter'; // IS THIS OK???
array[BLEND_MODES.MULTIPLY] = 'source-over';
array[BLEND_MODES.SCREEN] = 'source-over';
array[BLEND_MODES.OVERLAY] = 'source-over';
array[BLEND_MODES.DARKEN] = 'source-over';
array[BLEND_MODES.LIGHTEN] = 'source-over';
array[BLEND_MODES.COLOR_DODGE] = 'source-over';
array[BLEND_MODES.COLOR_BURN] = 'source-over';
array[BLEND_MODES.HARD_LIGHT] = 'source-over';
array[BLEND_MODES.SOFT_LIGHT] = 'source-over';
array[BLEND_MODES.DIFFERENCE] = 'source-over';
array[BLEND_MODES.EXCLUSION] = 'source-over';
array[BLEND_MODES.HUE] = 'source-over';
array[BLEND_MODES.SATURATION] = 'source-over';
array[BLEND_MODES.COLOR] = 'source-over';
array[BLEND_MODES.LUMINOSITY] = 'source-over';
}
return array;
}