toLayer method
Convert to ILPLayer
Implementation
Future<ILPLayer> toLayer(
bool isBackGroundLayer, {
bool ignoreLayerName = true,
}) async {
final layer = ILPLayer();
if (!ignoreLayerName && name != null) layer.name = name!;
if (hasFile) {
final bytes = await File(file!).readAsBytes();
layer.content = bytes;
layer.id = bytesSha1(bytes);
}
if (isBackGroundLayer) {
layer.width = width!;
layer.height = height!;
layer.x = x!;
layer.y = y!;
layer.content = await File(file!).readAsBytes();
for (final l in layers!) {
layer.layers
.add(await l.toLayer(false, ignoreLayerName: ignoreLayerName));
}
} else {
if (layers == null) {
layer.width = width!;
layer.height = height!;
layer.x = x!;
layer.y = y!;
layer.content = await File(file!).readAsBytes();
} else {
for (final l in layers!) {
layer.layers
.add(await l.toLayer(false, ignoreLayerName: ignoreLayerName));
}
}
}
return layer;
}