Newer
Older
pixi.js / src / core / renderers / webgl / managers / BlendModeManager.js
@Steffen Bär Steffen Bär on 20 Sep 2016 999 bytes some more es6 changes (#2969)
import WebGLManager from './WebGLManager';

/**
 * @class
 * @memberof PIXI
 * @extends PIXI.WebGLManager
 * @param renderer {PIXI.WebGLRenderer} The renderer this manager works for.
 */
class BlendModeManager extends WebGLManager
{
    constructor(renderer)
    {
        super(renderer);

        /**
         * @member {number}
         */
        this.currentBlendMode = 99999;
    }

    /**
     * Sets-up the given blendMode from WebGL's point of view.
     *
     * @param blendMode {number} the blendMode, should be a Pixi const, such as `PIXI.BLEND_MODES.ADD`. See
     *  {@link PIXI.BLEND_MODES} for possible values.
     */
    setBlendMode(blendMode)
    {
        if (this.currentBlendMode === blendMode)
        {
            return false;
        }

        this.currentBlendMode = blendMode;

        const mode = this.renderer.blendModes[this.currentBlendMode];
        this.renderer.gl.blendFunc(mode[0], mode[1]);

        return true;
    }
}

export default BlendModeManager;