UNPKG

illustrator.js

Version:

JavaScript image processing library

59 lines (58 loc) 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TransformTool = void 0; const ToolBox_1 = require("../base/ToolBox"); class TransformTool extends ToolBox_1.ToolBox { translate(x, y) { this.history.push((ctx) => { ctx.translate(x, y); }); return this; } transform(options) { this.history.push((ctx) => { options.horizontalScaling ?? (options.horizontalScaling = 1); options.verticalScaling ?? (options.verticalScaling = 1); ctx.transform(options.horizontalScaling, options.verticalSkewing, options.horizontalSkewing, options.verticalScaling, options.horizontalTranslation, options.verticalTranslation); }); return this; } setTransform(options) { this.history.push((ctx) => { options.horizontalScaling ?? (options.horizontalScaling = 1); options.verticalScaling ?? (options.verticalScaling = 1); ctx.setTransform(options.horizontalScaling, options.verticalSkewing, options.horizontalSkewing, options.verticalScaling, options.horizontalTranslation, options.verticalTranslation); }); return this; } resetTransform() { this.history.push((ctx) => { ctx.resetTransform(); }); return this; } getTransform() { const transformation = this.layer.utils.getLayerTransformation(); return { horizontalScaling: transformation.a, verticalSkewing: transformation.b, horizontalSkewing: transformation.c, verticalScaling: transformation.d, horizontalTranslation: transformation.e, verticalTranslation: transformation.f }; } rotate(angle) { this.history.push((ctx) => { ctx.rotate(angle); }); return this; } scale(x, y) { this.history.push((ctx) => { ctx.scale(x, y); }); return this; } } exports.TransformTool = TransformTool;