'use strict';
exports.__esModule = true;
exports.default = buildRectangle;
var _buildLine = require('./buildLine');
var _buildLine2 = _interopRequireDefault(_buildLine);
var _utils = require('../../../utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Builds a rectangle to draw
*
* Ignored from docs since it is not directly exposed.
*
* @ignore
* @private
* @param {PIXI.WebGLGraphicsData} graphicsData - The graphics object containing all the necessary properties
* @param {object} webGLData - an object containing all the webGL-specific information to create this shape
* @param {object} webGLDataNativeLines - an object containing all the webGL-specific information to create nativeLines
*/
function buildRectangle(graphicsData, webGLData, webGLDataNativeLines) {
// --- //
// need to convert points to a nice regular data
//
var rectData = graphicsData.shape;
var x = rectData.x;
var y = rectData.y;
var width = rectData.width;
var height = rectData.height;
if (graphicsData.fill) {
var color = (0, _utils.hex2rgb)(graphicsData.fillColor);
var alpha = graphicsData.fillAlpha;
var r = color[0] * alpha;
var g = color[1] * alpha;
var b = color[2] * alpha;
var verts = webGLData.points;
var indices = webGLData.indices;
var vertPos = verts.length / 6;
// start
verts.push(x, y);
verts.push(r, g, b, alpha);
verts.push(x + width, y);
verts.push(r, g, b, alpha);
verts.push(x, y + height);
verts.push(r, g, b, alpha);
verts.push(x + width, y + height);
verts.push(r, g, b, alpha);
// insert 2 dead triangles..
indices.push(vertPos, vertPos, vertPos + 1, vertPos + 2, vertPos + 3, vertPos + 3);
}
if (graphicsData.lineWidth) {
var tempPoints = graphicsData.points;
graphicsData.points = [x, y, x + width, y, x + width, y + height, x, y + height, x, y];
(0, _buildLine2.default)(graphicsData, webGLData, webGLDataNativeLines);
graphicsData.points = tempPoints;
}
}
//# sourceMappingURL=buildRectangle.js.map