UNPKG

pixi.js

Version:

<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">

1 lines 1.82 kB
{"version":3,"file":"GlColorMaskSystem.mjs","sources":["../../../../src/rendering/renderers/gl/GlColorMaskSystem.ts"],"sourcesContent":["import { ExtensionType } from '../../../extensions/Extensions';\n\nimport type { System } from '../shared/system/System';\nimport type { WebGLRenderer } from './WebGLRenderer';\n\n/**\n * The system that handles color masking for the WebGL.\n * @category rendering\n * @advanced\n */\nexport class GlColorMaskSystem implements System\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.WebGLSystem,\n ],\n name: 'colorMask',\n } as const;\n\n private readonly _renderer: WebGLRenderer;\n private _colorMaskCache = 0b1111;\n\n constructor(renderer: WebGLRenderer)\n {\n this._renderer = renderer;\n }\n\n public setMask(colorMask: number)\n {\n if (this._colorMaskCache === colorMask) return;\n this._colorMaskCache = colorMask;\n\n this._renderer.gl.colorMask(\n !!(colorMask & 0b1000),\n !!(colorMask & 0b0100),\n !!(colorMask & 0b0010),\n !!(colorMask & 0b0001)\n );\n }\n\n public destroy?: () => void;\n}\n"],"names":[],"mappings":";;;AAUO,MAAM,iBAAA,CACb;AAAA,EAYI,YAAY,QAAA,EACZ;AAHA,IAAA,IAAA,CAAQ,eAAA,GAAkB,EAAA;AAItB,IAAA,IAAA,CAAK,SAAA,GAAY,QAAA;AAAA,EACrB;AAAA,EAEO,QAAQ,SAAA,EACf;AACI,IAAA,IAAI,IAAA,CAAK,oBAAoB,SAAA,EAAW;AACxC,IAAA,IAAA,CAAK,eAAA,GAAkB,SAAA;AAEvB,IAAA,IAAA,CAAK,UAAU,EAAA,CAAG,SAAA;AAAA,MACd,CAAC,EAAE,SAAA,GAAY,CAAA,CAAA;AAAA,MACf,CAAC,EAAE,SAAA,GAAY,CAAA,CAAA;AAAA,MACf,CAAC,EAAE,SAAA,GAAY,CAAA,CAAA;AAAA,MACf,CAAC,EAAE,SAAA,GAAY,CAAA;AAAA,KACnB;AAAA,EACJ;AAGJ;AAAA;AAhCa,iBAAA,CAGK,SAAA,GAAY;AAAA,EACtB,IAAA,EAAM;AAAA,IACF,aAAA,CAAc;AAAA,GAClB;AAAA,EACA,IAAA,EAAM;AACV,CAAA;;;;"}