UNPKG

@wcardinal/wcardinal-geditor

Version:

WebGL-based graphic editor, tester and viewer for supervisory systems

88 lines 3.74 kB
import { __extends } from "tslib"; import { EShapeCapabilities, EShapeCapability, EShapeConnectorLine } from "@wcardinal/wcardinal-ui"; import { ECommandShapeProperty } from "./e-command-shape-property"; var ECommandShapePropertyAll = /** @class */ (function (_super) { __extends(ECommandShapePropertyAll, _super); function ECommandShapePropertyAll(selection) { return _super.call(this, selection, undefined) || this; } ECommandShapePropertyAll.prototype.toCapability = function (shape) { if (shape instanceof EShapeConnectorLine) { var edge = shape.edge; if (edge.tail.acceptor.shape == null && edge.head.acceptor.shape == null) { return EShapeCapability.ALL; } return EShapeCapability.NONE; } else { var result = EShapeCapability.NONE; if (EShapeCapabilities.contains(shape, EShapeCapability.POSITION)) { result |= EShapeCapability.POSITION; } if (EShapeCapabilities.contains(shape, EShapeCapability.WIDTH)) { result |= EShapeCapability.WIDTH; } if (EShapeCapabilities.contains(shape, EShapeCapability.HEIGHT)) { result |= EShapeCapability.HEIGHT; } if (EShapeCapabilities.contains(shape, EShapeCapability.ROTATION)) { result |= EShapeCapability.ROTATION; } if (EShapeCapabilities.contains(shape, EShapeCapability.SKEW)) { result |= EShapeCapability.SKEW; } return result; } }; ECommandShapePropertyAll.prototype.getProperty = function (shape, capability) { if (shape instanceof EShapeConnectorLine) { var edge = shape.edge; var tailLocal = edge.tail.local; var headLocal = edge.head.local; return [tailLocal.x, tailLocal.y, headLocal.x, headLocal.y, 0, 0]; } else { var transform = shape.transform; var position = transform.position; var size = shape.size; var skew = transform.skew; return [position.x, position.y, size.x, size.y, transform.rotation, skew.x]; } }; ECommandShapePropertyAll.prototype.setProperty = function (shape, capability, property) { if (shape instanceof EShapeConnectorLine) { var edge = shape.edge; edge.tail.local.set(property[0], property[1]); edge.head.local.set(property[2], property[3]); } else { var transform = shape.transform; if (capability & EShapeCapability.POSITION) { transform.position.set(property[0], property[1]); } if (capability & EShapeCapability.HEIGHT) { if (capability & EShapeCapability.WIDTH) { shape.size.set(property[2], property[3]); } else { shape.size.y = property[3]; } } else if (capability & EShapeCapability.WIDTH) { shape.size.x = property[2]; } if (capability & EShapeCapability.ROTATION) { transform.rotation = property[4]; } if (capability & EShapeCapability.SKEW) { transform.skew.set(property[5], property[5]); } } }; ECommandShapePropertyAll.prototype.initProperty = function (shape, capability, property) { // DO NOTHING }; return ECommandShapePropertyAll; }(ECommandShapeProperty)); export { ECommandShapePropertyAll }; //# sourceMappingURL=e-command-shape-property-all.js.map