var WebGLManager = require('./WebGLManager');
/**
* @class
* @namespace PIXI
* @param renderer {WebGLRenderer} The renderer this manager works for.
*/
function WebGLMaskManager(renderer)
{
WebGLManager.call(this, renderer);
}
WebGLMaskManager.prototype = Object.create(WebGLManager.prototype);
WebGLMaskManager.prototype.constructor = WebGLMaskManager;
module.exports = WebGLMaskManager;
/**
* Applies the Mask and adds it to the current filter stack.
*
* @param maskData {any[]}
*/
WebGLMaskManager.prototype.pushMask = function (maskData)
{
this.renderer.setObjectRenderer(this.renderer.objectRenderers.graphics);
if (maskData.dirty)
{
this.renderer.objectRenderers.graphics.updateGraphics(maskData, this.renderer.gl);
}
if (!maskData._webGL[this.renderer.gl.id].data.length)
{
return;
}
this.renderer.stencilManager.pushStencil(maskData, maskData._webGL[this.renderer.gl.id].data[0], this.renderer);
};
/**
* Removes the last filter from the filter stack and doesn't return it.
*
* @param maskData {any[]}
*/
WebGLMaskManager.prototype.popMask = function (maskData)
{
this.renderer.setObjectRenderer(this.renderer.objectRenderers.graphics);
this.renderer.stencilManager.popStencil(maskData, maskData._webGL[this.renderer.gl.id].data[0], this.renderer);
};