import { __extends } from "tslib"; import Path from '../Path.js'; import * as roundRectHelper from '../helper/roundRect.js'; import { subPixelOptimizeRect } from '../helper/subPixelOptimize.js'; var RectShape = (function () { function RectShape() { this.x = 0; this.y = 0; this.width = 0; this.height = 0; } return RectShape; }()); export { RectShape }; var subPixelOptimizeOutputShape = {}; var Rect = (function (_super) { __extends(Rect, _super); function Rect(opts) { return _super.call(this, opts) || this; } Rect.prototype.getDefaultShape = function () { return new RectShape(); }; Rect.prototype.buildPath = function (ctx, shape) { var x; var y; var width; var height; if (this.subPixelOptimize) { var optimizedShape = subPixelOptimizeRect(subPixelOptimizeOutputShape, shape, this.style); x = optimizedShape.x; y = optimizedShape.y; width = optimizedShape.width; height = optimizedShape.height; optimizedShape.r = shape.r; shape = optimizedShape; } else { x = shape.x; y = shape.y; width = shape.width; height = shape.height; } if (!shape.r) { ctx.rect(x, y, width, height); } else { roundRectHelper.buildPath(ctx, shape); } }; Rect.prototype.isZeroArea = function () { return !this.shape.width || !this.shape.height; }; return Rect; }(Path)); Rect.prototype.type = 'rect'; export default Rect;