/** * A GraphicsData object. * * @class */ class GraphicsData { /** * @constructor * @param {number} lineWidth the width of the line to draw * @param {number} lineColor the color of the line to draw * @param {number} lineAlpha the alpha of the line to draw * @param {number} fillColor the color of the fill * @param {number} fillAlpha the alpha of the fill * @param {boolean} fill whether or not the shape is filled with a colour * @param {Circle|Rectangle|Ellipse|Line|Polygon} shape The shape object to draw. */ constructor(lineWidth, lineColor, lineAlpha, fillColor, fillAlpha, fill, shape) { /* * @member {number} the width of the line to draw */ this.lineWidth = lineWidth; /* * @member {number} the color of the line to draw */ this.lineColor = lineColor; /* * @member {number} the alpha of the line to draw */ this.lineAlpha = lineAlpha; /* * @member {number} cached tint of the line to draw */ this._lineTint = lineColor; /* * @member {number} the color of the fill */ this.fillColor = fillColor; /* * @member {number} the alpha of the fill */ this.fillAlpha = fillAlpha; /* * @member {number} cached tint of the fill */ this._fillTint = fillColor; /* * @member {boolean} whether or not the shape is filled with a colour */ this.fill = fill; /* * @member {PIXI.Circle|PIXI.Rectangle|PIXI.Ellipse|PIXI.Line|PIXI.Polygon} The shape object to draw. */ this.shape = shape; /* * @member {number} The type of the shape, see the Const.Shapes file for all the existing types, */ this.type = shape.type; } /** * Creates a new GraphicsData object with the same values as this one. * * @return {GraphicsData} Cloned GraphicsData instance */ clone() { return new GraphicsData( this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.fill, this.shape ); } /** * Destroys the Graphics data. */ destroy() { this.shape = null; } } module.exports = GraphicsData;