illustrator.js
Version:
JavaScript image processing library
30 lines (29 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RectangleTool = void 0;
const BaseShapeTool_1 = require("../base/BaseShapeTool");
class RectangleTool extends BaseShapeTool_1.BaseShapeTool {
draw(options) {
this.history.push((ctx) => {
ctx.rect(options.x, options.y, options.width, options.height);
});
return this;
}
drawRounded(options) {
if (options.width < 2 * options.radius)
options.radius = options.width / 2;
if (options.height < 2 * options.radius)
options.radius = options.height / 2;
this.history.push((ctx) => {
ctx.beginPath();
ctx.moveTo(options.x + options.radius, options.y);
ctx.arcTo(options.x + options.width, options.y, options.x + options.width, options.y + options.height, options.radius);
ctx.arcTo(options.x + options.width, options.y + options.height, options.x, options.y + options.height, options.radius);
ctx.arcTo(options.x, options.y + options.height, options.x, options.y, options.radius);
ctx.arcTo(options.x, options.y, options.x + options.width, options.y, options.radius);
ctx.closePath();
});
return this;
}
}
exports.RectangleTool = RectangleTool;