shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$graphics$shared$buildCommands$buildCircle = function(global, require, module, exports) { global = require("module$node_modules$pixi_DOT_js$lib$extensions$Extensions"); "use strict"; global = {extension:{type:global.ExtensionType.ShapeBuilder, name:"circle"}, build(shape, points) { let y; var dy; let rx, ry; if ("circle" === shape.type) { rx = ry = shape.radius; if (0 >= rx) { return !1; } var x = shape.x; y = shape.y; shape = dy = 0; } else if ("ellipse" === shape.type) { rx = shape.halfWidth; ry = shape.halfHeight; if (0 >= rx || 0 >= ry) { return !1; } x = shape.x; y = shape.y; shape = dy = 0; } else { dy = shape.width / 2; var halfHeight = shape.height / 2; x = shape.x + dy; y = shape.y + halfHeight; rx = ry = Math.max(0, Math.min(shape.radius, Math.min(dy, halfHeight))); shape = dy - rx; dy = halfHeight - ry; } if (0 > shape || 0 > dy) { return !1; } const n = Math.ceil(2.3 * Math.sqrt(rx + ry)); var m = 8 * n + (shape ? 4 : 0) + (dy ? 4 : 0); if (0 === m) { return !1; } if (0 === n) { return points[0] = points[6] = x + shape, points[1] = points[3] = y + dy, points[2] = points[4] = x - shape, points[5] = points[7] = y - dy, !0; } halfHeight = 0; let j2 = 4 * n + (shape ? 2 : 0) + 2, j3 = j2; var x0 = shape + rx, y0 = dy, x1 = x + x0; x0 = x - x0; var y1 = y + y0; points[halfHeight++] = x1; points[halfHeight++] = y1; points[--j2] = y1; points[--j2] = x0; dy && (y0 = y - y0, points[j3++] = x0, points[j3++] = y0, points[--m] = y0, points[--m] = x1); for (x1 = 1; x1 < n; x1++) { x0 = Math.PI / 2 * (x1 / n); y1 = shape + Math.cos(x0) * rx; y0 = dy + Math.sin(x0) * ry; x0 = x + y1; y1 = x - y1; const y12 = y + y0; y0 = y - y0; points[halfHeight++] = x0; points[halfHeight++] = y12; points[--j2] = y12; points[--j2] = y1; points[j3++] = y1; points[j3++] = y0; points[--m] = y0; points[--m] = x0; } x0 = shape; y0 = dy + ry; x1 = x + x0; x0 = x - x0; y1 = y + y0; x = y - y0; points[halfHeight++] = x1; points[halfHeight++] = y1; points[--m] = x; points[--m] = x1; shape && (points[halfHeight++] = x0, points[halfHeight++] = y1, points[--m] = x, points[--m] = x0); return !0; }, triangulate(points, vertices, verticesStride, verticesOffset, indices, indicesOffset) { if (0 !== points.length) { var centerX = 0, centerY = 0; for (let i = 0; i < points.length; i += 2) { centerX += points[i], centerY += points[i + 1]; } centerX /= points.length / 2; centerY /= points.length / 2; vertices[verticesOffset * verticesStride] = centerX; vertices[verticesOffset * verticesStride + 1] = centerY; centerX = verticesOffset++; for (centerY = 0; centerY < points.length; centerY += 2) { vertices[verticesOffset * verticesStride] = points[centerY], vertices[verticesOffset * verticesStride + 1] = points[centerY + 1], 0 < centerY && (indices[indicesOffset++] = verticesOffset, indices[indicesOffset++] = centerX, indices[indicesOffset++] = verticesOffset - 1), verticesOffset++; } indices[indicesOffset++] = centerX + 1; indices[indicesOffset++] = centerX; indices[indicesOffset++] = verticesOffset - 1; } }}; require = {...global, extension:{...global.extension, name:"ellipse"}}; module = {...global, extension:{...global.extension, name:"roundedRectangle"}}; exports.buildCircle = global; exports.buildEllipse = require; exports.buildRoundedRectangle = module; }; //# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$graphics$shared$buildCommands$buildCircle.js.map