UNPKG

@gorpacrate/core-graphics

Version:

A core library for creating shape-based graphic editors

57 lines 3.34 kB
"use strict"; exports.__esModule = true; var transform_1 = require("../utils/transform"); var history_event_1 = require("./history-event"); function getShapeMoveEvent(delta, shapeData) { var dx = delta.dx, dy = delta.dy; return history_event_1.shapeUpdateEvent(shapeData.id, transform_1.moveShapeKeyPoints({ dx: dx, dy: dy }, shapeData)); } exports.getShapeMoveEvent = getShapeMoveEvent; function getShapesMoveEvent(delta, shapesData) { var dx = delta.dx, dy = delta.dy; var events = shapesData.map(function (shapeData) { return history_event_1.shapeUpdateEvent(shapeData.id, transform_1.moveShapeKeyPoints({ dx: dx, dy: dy }, shapeData)); }); return history_event_1.historyEventsGroup(events); } exports.getShapesMoveEvent = getShapesMoveEvent; function getShapesRemoveEvent(ids) { if (ids.length === 1) { var id = ids[0]; return history_event_1.shapeRemoveEvent(id); } var events = ids.map(function (id) { return history_event_1.shapeRemoveEvent(id); }); return history_event_1.historyEventsGroup(events); } exports.getShapesRemoveEvent = getShapesRemoveEvent; function getShapesScaleEvent(params) { var shapesData = params.shapesData, ids = params.ids, pOrigin = params.pOrigin, pStart = params.pStart, pEnd = params.pEnd, proportional = params.proportional, minWidth = params.minWidth, minHeight = params.minHeight; var oX = pOrigin.x, oY = pOrigin.y; if (ids.length === 1) { var id = ids[0]; var shapeData = shapesData[id]; var noX = pOrigin.x, noY = pOrigin.y; var resizeCoeffs = transform_1.getResizeCoeffs({ pOrigin: pOrigin, pEnd: pEnd, pStart: pStart, proportional: proportional, minWidth: minWidth, minHeight: minHeight }); return history_event_1.shapeUpdateEvent(id, transform_1.scaleShapeKeyPoints({ oX: noX, oY: noY }, { kx: resizeCoeffs.kx, ky: resizeCoeffs.ky }, shapeData)); } var _a = transform_1.getResizeCoeffs({ pOrigin: pOrigin, pEnd: pEnd, pStart: pStart, proportional: proportional, minWidth: minWidth, minHeight: minHeight }), kx = _a.kx, ky = _a.ky; var events = ids.map(function (id) { return history_event_1.shapeUpdateEvent(id, transform_1.scaleShapeKeyPoints({ oX: oX, oY: oY }, { kx: kx, ky: ky }, shapesData[id])); }); return history_event_1.historyEventsGroup(events); } exports.getShapesScaleEvent = getShapesScaleEvent; function getShapesChangeOrderEvent(params) { var shapesIds = params.shapesIds, relative = params.relative, value = params.value, shapesOrder = params.shapesOrder; if (shapesIds.length === 1) { return history_event_1.shapeChangeOrderEvent({ shapeId: shapesIds[0], relative: relative, value: value }); } // move them, preserving order var orderedIds = shapesOrder.filter(function (id) { return (shapesIds.filter(function (x) { return x === id; }).length > 0); }); // FIXME if ((!relative && (value === 0)) || (relative && (value > 0))) { orderedIds = orderedIds.reverse(); } var events = orderedIds.map(function (shapeId) { return (history_event_1.shapeChangeOrderEvent({ shapeId: shapeId, relative: relative, value: value })); }); return history_event_1.historyEventsGroup(events); } exports.getShapesChangeOrderEvent = getShapesChangeOrderEvent; //# sourceMappingURL=history-events-wrappers.js.map