{"version":3,"file":"GpuStencilModesToPixi.mjs","sources":["../../../../../src/rendering/renderers/gpu/state/GpuStencilModesToPixi.ts"],"sourcesContent":["import { STENCIL_MODES } from '../../shared/state/const';\n\n/**\n * The stencil state for the GPU renderer.\n * This is used to define how the stencil buffer should be configured.\n * @category rendering\n * @advanced\n */\nexport interface StencilState\n{\n    stencilWriteMask?: number\n    stencilReadMask?: number;\n    stencilFront?: {\n        compare: 'always' | 'equal' | 'not-equal';\n        passOp: 'increment-clamp' | 'decrement-clamp' | 'keep' | 'replace';\n    },\n    stencilBack?: {\n        compare: 'always' | 'equal' | 'not-equal';\n        passOp: 'increment-clamp' | 'decrement-clamp' | 'keep' | 'replace';\n    }\n}\n\n/** @internal */\nexport const GpuStencilModesToPixi: StencilState[] = [];\n\nGpuStencilModesToPixi[STENCIL_MODES.NONE] = undefined;\n\nGpuStencilModesToPixi[STENCIL_MODES.DISABLED] = {\n    stencilWriteMask: 0,\n    stencilReadMask: 0,\n};\n\nGpuStencilModesToPixi[STENCIL_MODES.RENDERING_MASK_ADD] = {\n    stencilFront: {\n        compare: 'equal',\n        passOp: 'increment-clamp',\n    },\n    stencilBack: {\n        compare: 'equal',\n        passOp: 'increment-clamp',\n    },\n};\n\nGpuStencilModesToPixi[STENCIL_MODES.RENDERING_MASK_REMOVE] = {\n    stencilFront: {\n        compare: 'equal',\n        passOp: 'decrement-clamp',\n    },\n    stencilBack: {\n        compare: 'equal',\n        passOp: 'decrement-clamp',\n    },\n};\n\nGpuStencilModesToPixi[STENCIL_MODES.MASK_ACTIVE] = {\n    stencilWriteMask: 0,\n    stencilFront: {\n        compare: 'equal',\n        passOp: 'keep',\n    },\n    stencilBack: {\n        compare: 'equal',\n        passOp: 'keep',\n    },\n};\n\nGpuStencilModesToPixi[STENCIL_MODES.INVERSE_MASK_ACTIVE] = {\n    stencilWriteMask: 0,\n    stencilFront: {\n        compare: 'not-equal',\n        passOp: 'keep',\n    },\n    stencilBack: {\n        compare: 'not-equal',\n        passOp: 'keep',\n    },\n};\n"],"names":[],"mappings":";;;AAuBO,MAAM,wBAAwC;AAErD,qBAAA,CAAsB,aAAA,CAAc,IAAI,CAAA,GAAI,KAAA,CAAA;AAE5C,qBAAA,CAAsB,aAAA,CAAc,QAAQ,CAAA,GAAI;AAAA,EAC5C,gBAAA,EAAkB,CAAA;AAAA,EAClB,eAAA,EAAiB;AACrB,CAAA;AAEA,qBAAA,CAAsB,aAAA,CAAc,kBAAkB,CAAA,GAAI;AAAA,EACtD,YAAA,EAAc;AAAA,IACV,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ;AAAA,GACZ;AAAA,EACA,WAAA,EAAa;AAAA,IACT,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ;AAAA;AAEhB,CAAA;AAEA,qBAAA,CAAsB,aAAA,CAAc,qBAAqB,CAAA,GAAI;AAAA,EACzD,YAAA,EAAc;AAAA,IACV,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ;AAAA,GACZ;AAAA,EACA,WAAA,EAAa;AAAA,IACT,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ;AAAA;AAEhB,CAAA;AAEA,qBAAA,CAAsB,aAAA,CAAc,WAAW,CAAA,GAAI;AAAA,EAC/C,gBAAA,EAAkB,CAAA;AAAA,EAClB,YAAA,EAAc;AAAA,IACV,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ;AAAA,GACZ;AAAA,EACA,WAAA,EAAa;AAAA,IACT,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ;AAAA;AAEhB,CAAA;AAEA,qBAAA,CAAsB,aAAA,CAAc,mBAAmB,CAAA,GAAI;AAAA,EACvD,gBAAA,EAAkB,CAAA;AAAA,EAClB,YAAA,EAAc;AAAA,IACV,OAAA,EAAS,WAAA;AAAA,IACT,MAAA,EAAQ;AAAA,GACZ;AAAA,EACA,WAAA,EAAa;AAAA,IACT,OAAA,EAAS,WAAA;AAAA,IACT,MAAA,EAAQ;AAAA;AAEhB,CAAA;;;;"}