@aurigma/design-atoms
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
68 lines • 2.98 kB
JavaScript
import { RectangleF } from "@aurigma/design-atoms-model/Math/RectangleF";
import { HandlerFactoryByName } from "./ItemHandlers/HandlerFactoryByName";
import { RenderingType } from "@aurigma/design-atoms-model/Product/RenderingType";
var LayerData = /** @class */ (function () {
function LayerData(layerObject, forService) {
this.N = "";
this.V = true;
this.L = false;
this.ID = ("l" + new Date().getTime()) + Math.round(Math.random() * 1000);
this.VO = [];
this.RenderingType = RenderingType.Normal;
if (layerObject) {
this.RenderingType = layerObject.renderingType;
if (forService)
return;
this.N = layerObject.name;
this.V = layerObject.visible;
this.L = layerObject.locked;
this.R = layerObject.region;
this.ID = layerObject.uniqueId;
this.VO = [];
var objs = layerObject.itemHandlers;
for (var i = 0; i < objs.length; i++) {
var vo = objs.getItem(i);
this.VO.push({ T: vo.getTypeName(), D: vo.getData("asObject") });
}
this.TextureStorageId = layerObject.textureStorageId;
this.TextureSourceWidth = layerObject.textureSourceWidth;
this.TextureSourceHeight = layerObject.textureSourceHeight;
this.PreviewColor = layerObject.previewColor;
}
}
LayerData.applyState = function (layerData, layerObject, objectsHash) {
if (!objectsHash)
objectsHash = {};
if (layerObject) {
layerObject.name = layerData.N;
layerObject.visible = layerData.V;
layerObject.locked = layerData.L;
layerObject.uniqueId = layerData.ID;
layerObject.textureStorageId = layerData.TextureStorageId;
layerObject.textureSourceWidth = layerData.TextureSourceWidth;
layerObject.textureSourceHeight = layerData.TextureSourceHeight;
layerObject.previewColor = layerData.PreviewColor;
if (layerData.R)
layerObject.region = RectangleF.FromObject(layerData.R);
var lvo = layerObject.itemHandlers;
for (var i = 0; i < layerData.VO.length; i++) {
var voData = layerData.VO[i].D;
var a = objectsHash[voData.ID];
if (!a) {
a = new HandlerFactoryByName().create(layerData.VO[i].T);
a.setData(voData);
a.initialize();
}
else {
//exclude ItemHandler from hash
objectsHash[voData.ID] = null;
a.setData(voData);
}
lvo.add(a);
}
}
};
return LayerData;
}());
export { LayerData };
//# sourceMappingURL=LayerData.js.map