function AbstractRenderer(type, options) {
        if (type === void 0) { type = _pixi_constants__WEBPACK_IMPORTED_MODULE_1__.RENDERER_TYPE.UNKNOWN; }
        var _this = _super.call(this) || this;
        // Add the default render options
        options = Object.assign({}, _pixi_settings__WEBPACK_IMPORTED_MODULE_0__.settings.RENDER_OPTIONS, options);
        /**
         * The supplied constructor options.
         * @member {object}
         * @readonly
         */
        _this.options = options;
        /**
         * The type of the renderer.
         * @member {number}
         * @default PIXI.RENDERER_TYPE.UNKNOWN
         * @see PIXI.RENDERER_TYPE
         */
        _this.type = type;
        /**
         * Measurements of the screen. (0, 0, screenWidth, screenHeight).
         *
         * Its safe to use as filterArea or hitArea for the whole stage.
         * @member {PIXI.Rectangle}
         */
        _this.screen = new _pixi_math__WEBPACK_IMPORTED_MODULE_6__.Rectangle(0, 0, options.width, options.height);
        /**
         * The canvas element that everything is drawn to.
         * @member {HTMLCanvasElement}
         */
        _this.view = options.view || _pixi_settings__WEBPACK_IMPORTED_MODULE_0__.settings.ADAPTER.createCanvas();
        /**
         * The resolution / device pixel ratio of the renderer.
         * @member {number}
         * @default PIXI.settings.RESOLUTION
         */
        _this.resolution = options.resolution || _pixi_settings__WEBPACK_IMPORTED_MODULE_0__.settings.RESOLUTION;
        /**
         * Pass-thru setting for the canvas' context `alpha` property. This is typically
         * not something you need to fiddle with. If you want transparency, use `backgroundAlpha`.
         * @member {boolean}
         */
        _this.useContextAlpha = options.useContextAlpha;
        /**
         * Whether CSS dimensions of canvas view should be resized to screen dimensions automatically.
         * @member {boolean}
         */
        _this.autoDensity = !!options.autoDensity;
        /**
         * The value of the preserveDrawingBuffer flag affects whether or not the contents of
         * the stencil buffer is retained after rendering.
         * @member {boolean}
         */
        _this.preserveDrawingBuffer = options.preserveDrawingBuffer;
        /**
         * This sets if the CanvasRenderer will clear the canvas or not before the new render pass.
         * If the scene is NOT transparent PixiJS will use a canvas sized fillRect operation every
         * frame to set the canvas background color. If the scene is transparent PixiJS will use clearRect
         * to clear the canvas every frame. Disable this by setting this to false. For example, if
         * your game has a canvas filling background image you often don't need this set.
         * @member {boolean}
         * @default
         */
        _this.clearBeforeRender = options.clearBeforeRender;
        /**
         * The background color as a number.
         * @member {number}
         * @protected
         */
        _this._backgroundColor = 0x000000;
        /**
         * The background color as an [R, G, B, A] array.
         * @member {number[]}
         * @protected
         */
        _this._backgroundColorRgba = [0, 0, 0, 1];
        /**
         * The background color as a string.
         * @member {string}
         * @protected
         */
        _this._backgroundColorString = '#000000';
        _this.backgroundColor = options.backgroundColor || _this._backgroundColor; // run bg color setter
        _this.backgroundAlpha = options.backgroundAlpha;
        // @deprecated
        if (options.transparent !== undefined) {
            (0,_pixi_utils__WEBPACK_IMPORTED_MODULE_2__.deprecation)('6.0.0', 'Option transparent is deprecated, please use backgroundAlpha instead.');
            _this.useContextAlpha = options.transparent;
            _this.backgroundAlpha = options.transparent ? 0 : 1;
        }
        /**
         * The last root object that the renderer tried to render.
         * @member {PIXI.DisplayObject}
         * @protected
         */
        _this._lastObjectRendered = null;
        /**
         * Collection of plugins.
         * @readonly
         * @member {object}
         */
        _this.plugins = {};
        return _this;
    }
@param type - The renderer type.
@param [options] - The optional renderer parameters.
@param {number} [options.width=800] - The width of the screen.
@param {number} [options.height=600] - The height of the screen.
@param {HTMLCanvasElement} [options.view] - The canvas to use as a view, optional.
@param {boolean} [options.useContextAlpha=true] - Pass-through value for canvas' context `alpha` property.
  If you want to set transparency, please use `backgroundAlpha`. This option is for cases where the
  canvas needs to be opaque, possibly for performance reasons on some older devices.
@param {boolean} [options.autoDensity=false] - Resizes renderer view in CSS pixels to allow for
  resolutions other than 1.
@param {boolean} [options.antialias=false] - Sets antialias
@param {number} [options.resolution=PIXI.settings.RESOLUTION] - The resolution / device pixel ratio of the renderer.
@param {boolean} [options.preserveDrawingBuffer=false] - Enables drawing buffer preservation,
 enable this if you need to call toDataUrl on the WebGL context.
@param {boolean} [options.clearBeforeRender=true] - This sets if the renderer will clear the canvas or
     not before the new render pass.
@param {number} [options.backgroundColor=0x000000] - The background color of the rendered area
 (shown if not transparent).
@param {number} [options.backgroundAlpha=1] - Value from 0 (fully transparent) to 1 (fully opaque).