Source: packages/core/src/batch/ObjectRenderer.js

packages/core/src/batch/ObjectRenderer.js

/**
 * Base for a common object renderer that can be used as a
 * system renderer plugin.
 *
 * @class
 * @extends PIXI.System
 * @memberof PIXI
 */
export class ObjectRenderer {
    /**
     * @param {PIXI.Renderer} renderer - The renderer this manager works for.
     */
    constructor(renderer) {
        /**
         * The renderer this manager works for.
         *
         * @member {PIXI.Renderer}
         */
        this.renderer = renderer;
    }
    /**
     * Stub method that should be used to empty the current
     * batch by rendering objects now.
     */
    flush() {
        // flush!
    }
    /**
     * Generic destruction method that frees all resources. This
     * should be called by subclasses.
     */
    destroy() {
        this.renderer = null;
    }
    /**
     * Stub method that initializes any state required before
     * rendering starts. It is different from the `prerender`
     * signal, which occurs every frame, in that it is called
     * whenever an object requests _this_ renderer specifically.
     */
    start() {
        // set the shader..
    }
    /**
     * Stops the renderer. It should free up any state and
     * become dormant.
     */
    stop() {
        this.flush();
    }
    /**
     * Keeps the object to render. It doesn't have to be
     * rendered immediately.
     *
     * @param {PIXI.DisplayObject} object - The object to render.
     */
    render(_object) {
        // render the object
    }
}