Entry constructor
Implementation
Entry({this.element, this.parent, this.index})
: widget = element?.widget,
key = element?.key,
renderObject = element?.renderObject,
size = element?.renderObject is! RenderBox ? Size(PxUtils().getScreenWidth, PxUtils().getScreenHeight) : element?.size,
// ignore: invalid_use_of_protected_member
layer = element?.renderObject?.layer {
var entries = element?.children.map<Entry>(
(e) => Entry(element: e, parent: this, index: index),
);
children = LinkedList<Entry>()..addAll(entries ?? []);
// find unlinked layers
if (renderObject != null && layer == null) {
Entry? tmp = parent;
if (tmp?.element is! RenderObjectElement) {
tmp = tmp?.parent;
} else {
return;
}
}
children?.forEach((entity) {
if (entity.layer == null) {
Layer? nextLayer = entity.previous?.layer?.nextSibling;
bool isUnlinkedLayer = [PictureLayer, PerformanceOverlayLayer, TextureLayer].contains(nextLayer.runtimeType);
if (nextLayer != null && isUnlinkedLayer) {
entity.layer = nextLayer;
}
}
});
}