UNPKG

illustrator.js

Version:

JavaScript image processing library

30 lines (29 loc) 1.32 kB
"use strict"; 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;