@wcardinal/wcardinal-geditor
Version:
WebGL-based graphic editor, tester and viewer for supervisory systems
88 lines • 3.74 kB
JavaScript
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