instance method
Implementation
@override
Artboard instance() {
var artboard = RuntimeArtboard();
artboard.context = artboard;
artboard.frameOrigin = frameOrigin;
artboard.copy(this);
artboard._objects.add(artboard);
// First copy the objects ensuring onAddedDirty can later find them in the
// _objects list.
for (final object in _objects.skip(1)) {
Core? clone = object?.clone();
artboard.addObject(clone);
}
// Then run the onAddedDirty loop.
for (final object in artboard.objects.skip(1)) {
if (object is Component &&
object.parentId == ComponentBase.parentIdInitialValue) {
object.parent = artboard;
}
object?.onAddedDirty();
}
animations.forEach(artboard.animations.add);
for (final object in artboard.objects.toList(growable: false)) {
if (object == null) {
continue;
}
object.onAdded();
InternalCoreHelper.markValid(object);
}
artboard.clean();
return artboard;
}