Files
nothoughts/node_modules/pixi.js/lib/rendering/renderers/shared/background/BackgroundSystem.mjs.map
2025-08-04 18:57:35 +02:00

1 line
6.4 KiB
Plaintext

{"version":3,"file":"BackgroundSystem.mjs","sources":["../../../../../src/rendering/renderers/shared/background/BackgroundSystem.ts"],"sourcesContent":["import { Color } from '../../../../color/Color';\nimport { ExtensionType } from '../../../../extensions/Extensions';\n\nimport type { ColorSource, RgbaArray } from '../../../../color/Color';\nimport type { System } from '../system/System';\n\n/**\n * Options for the background system.\n * @property {ColorSource} [backgroundColor='black']\n * The background color used to clear the canvas. See {@link ColorSource} for accepted color values.\n * @property {ColorSource} [background] - Alias for backgroundColor\n * @property {number} [backgroundAlpha=1] -\n * Transparency of the background color, value from `0` (fully transparent) to `1` (fully opaque).\n * @property {boolean} [clearBeforeRender=true] - Whether to clear the canvas before new render passes.\n * @memberof rendering\n */\nexport interface BackgroundSystemOptions\n{\n /**\n * The background color used to clear the canvas. See {@link ColorSource} for accepted color values.\n * @memberof rendering.SharedRendererOptions\n * @default 'black'\n */\n backgroundColor: ColorSource;\n /**\n * Alias for backgroundColor\n * @memberof rendering.SharedRendererOptions\n */\n background?: ColorSource\n /**\n * Transparency of the background color, value from `0` (fully transparent) to `1` (fully opaque).\n * @memberof rendering.SharedRendererOptions\n * @default 1\n */\n backgroundAlpha: number;\n /**\n * Whether to clear the canvas before new render passes.\n * @memberof rendering.SharedRendererOptions\n * @default true\n */\n clearBeforeRender: boolean;\n}\n\n/**\n * The background system manages the background color and alpha of the main view.\n * @memberof rendering\n */\nexport class BackgroundSystem implements System<BackgroundSystemOptions>\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.WebGLSystem,\n ExtensionType.WebGPUSystem,\n ExtensionType.CanvasSystem,\n ],\n name: 'background',\n priority: 0,\n } as const;\n\n /** default options used by the system */\n public static defaultOptions: BackgroundSystemOptions = {\n /**\n * {@link WebGLOptions.backgroundAlpha}\n * @default 1\n */\n backgroundAlpha: 1,\n /**\n * {@link WebGLOptions.backgroundColor}\n * @default 0x000000\n */\n backgroundColor: 0x0,\n /**\n * {@link WebGLOptions.clearBeforeRender}\n * @default true\n */\n clearBeforeRender: true,\n };\n\n /**\n * This sets if the CanvasRenderer will clear the canvas or not before the new render pass.\n * If the scene is NOT transparent PixiJS will use a canvas sized fillRect operation every\n * frame to set the canvas background color. If the scene is transparent PixiJS will use clearRect\n * to clear the canvas every frame. Disable this by setting this to false. For example, if\n * your game has a canvas filling background image you often don't need this set.\n */\n public clearBeforeRender: boolean;\n\n private readonly _backgroundColor: Color;\n\n constructor()\n {\n this.clearBeforeRender = true;\n\n this._backgroundColor = new Color(0x000000);\n\n this.color = this._backgroundColor; // run bg color setter\n this.alpha = 1;\n }\n\n /**\n * initiates the background system\n * @param options - the options for the background colors\n */\n public init(options: BackgroundSystemOptions): void\n {\n options = { ...BackgroundSystem.defaultOptions, ...options };\n\n this.clearBeforeRender = options.clearBeforeRender;\n this.color = options.background || options.backgroundColor || this._backgroundColor; // run bg color setter\n this.alpha = options.backgroundAlpha;\n\n this._backgroundColor.setAlpha(options.backgroundAlpha);\n }\n\n /** The background color to fill if not transparent */\n get color(): Color\n {\n return this._backgroundColor;\n }\n\n set color(value: ColorSource)\n {\n this._backgroundColor.setValue(value);\n }\n\n /** The background color alpha. Setting this to 0 will make the canvas transparent. */\n get alpha(): number\n {\n return this._backgroundColor.alpha;\n }\n\n set alpha(value: number)\n {\n this._backgroundColor.setAlpha(value);\n }\n\n /** The background color as an [R, G, B, A] array. */\n get colorRgba(): RgbaArray\n {\n return this._backgroundColor.toArray() as RgbaArray;\n }\n\n /**\n * destroys the background system\n * @internal\n * @ignore\n */\n public destroy(): void\n {\n // No cleanup required\n }\n}\n"],"names":[],"mappings":";;;;AA+CO,MAAM,iBAAA,GAAN,MAAM,iBACb,CAAA;AAAA,EA0CI,WACA,GAAA;AACI,IAAA,IAAA,CAAK,iBAAoB,GAAA,IAAA,CAAA;AAEzB,IAAK,IAAA,CAAA,gBAAA,GAAmB,IAAI,KAAA,CAAM,CAAQ,CAAA,CAAA;AAE1C,IAAA,IAAA,CAAK,QAAQ,IAAK,CAAA,gBAAA,CAAA;AAClB,IAAA,IAAA,CAAK,KAAQ,GAAA,CAAA,CAAA;AAAA,GACjB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,KAAK,OACZ,EAAA;AACI,IAAA,OAAA,GAAU,EAAE,GAAG,iBAAiB,CAAA,cAAA,EAAgB,GAAG,OAAQ,EAAA,CAAA;AAE3D,IAAA,IAAA,CAAK,oBAAoB,OAAQ,CAAA,iBAAA,CAAA;AACjC,IAAA,IAAA,CAAK,KAAQ,GAAA,OAAA,CAAQ,UAAc,IAAA,OAAA,CAAQ,mBAAmB,IAAK,CAAA,gBAAA,CAAA;AACnE,IAAA,IAAA,CAAK,QAAQ,OAAQ,CAAA,eAAA,CAAA;AAErB,IAAK,IAAA,CAAA,gBAAA,CAAiB,QAAS,CAAA,OAAA,CAAQ,eAAe,CAAA,CAAA;AAAA,GAC1D;AAAA;AAAA,EAGA,IAAI,KACJ,GAAA;AACI,IAAA,OAAO,IAAK,CAAA,gBAAA,CAAA;AAAA,GAChB;AAAA,EAEA,IAAI,MAAM,KACV,EAAA;AACI,IAAK,IAAA,CAAA,gBAAA,CAAiB,SAAS,KAAK,CAAA,CAAA;AAAA,GACxC;AAAA;AAAA,EAGA,IAAI,KACJ,GAAA;AACI,IAAA,OAAO,KAAK,gBAAiB,CAAA,KAAA,CAAA;AAAA,GACjC;AAAA,EAEA,IAAI,MAAM,KACV,EAAA;AACI,IAAK,IAAA,CAAA,gBAAA,CAAiB,SAAS,KAAK,CAAA,CAAA;AAAA,GACxC;AAAA;AAAA,EAGA,IAAI,SACJ,GAAA;AACI,IAAO,OAAA,IAAA,CAAK,iBAAiB,OAAQ,EAAA,CAAA;AAAA,GACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACP,GAAA;AAAA,GAEA;AACJ,CAAA,CAAA;AAAA;AAzGa,iBAAA,CAGK,SAAY,GAAA;AAAA,EACtB,IAAM,EAAA;AAAA,IACF,aAAc,CAAA,WAAA;AAAA,IACd,aAAc,CAAA,YAAA;AAAA,IACd,aAAc,CAAA,YAAA;AAAA,GAClB;AAAA,EACA,IAAM,EAAA,YAAA;AAAA,EACN,QAAU,EAAA,CAAA;AACd,CAAA,CAAA;AAAA;AAXS,iBAAA,CAcK,cAA0C,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKpD,eAAiB,EAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjB,eAAiB,EAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjB,iBAAmB,EAAA,IAAA;AACvB,CAAA,CAAA;AA9BG,IAAM,gBAAN,GAAA;;;;"}