import type { ExtensionMetadata, ISystem, MaskData } from '@pixi/core'; import type { Container } from '@pixi/display'; import type { Graphics } from '@pixi/graphics'; import type { CanvasRenderer } from './CanvasRenderer'; /** * A set of functions used to handle masking. * * Sprite masking is not supported on the CanvasRenderer. * @class * @memberof PIXI */ export declare class CanvasMaskSystem implements ISystem { /** @ignore */ static extension: ExtensionMetadata; /** A reference to the current renderer */ private renderer; private _foundShapes; /** @param renderer - A reference to the current renderer */ constructor(renderer: CanvasRenderer); /** * This method adds it to the current stack of masks. * @param maskData - the maskData that will be pushed */ pushMask(maskData: MaskData | Graphics): void; /** * Renders all PIXI.Graphics shapes in a subtree. * @param container - container to scan. * @param out - where to put found shapes */ recursiveFindShapes(container: Container, out: Array): void; /** * Renders a PIXI.Graphics shape. * @param graphics - The object to render. */ renderGraphicsShape(graphics: Graphics): void; /** * Restores the current drawing context to the state it was before the mask was applied. * @param renderer - The renderer context to use. */ popMask(renderer: CanvasRenderer): void; /** Destroys this canvas mask manager. */ destroy(): void; }