recurseKey static method
List<Map<String, dynamic> >
recurseKey(
- BuildContext element,
- double pixRatio,
- int screenWidth,
- int screenHeight,
Implementation
static List<Map<String, dynamic>> recurseKey(BuildContext element,
double pixRatio, int screenWidth, int screenHeight) {
List<Map<String, dynamic>> list = [];
element.visitChildElements((element) {
String key = element.widget.key.toString();
if (key.contains("<'") && key.contains("'>") && key.startsWith("[<'")) {
RenderBox box = element.findRenderObject() as RenderBox;
Offset position = box.localToGlobal(Offset.zero);
if (isWithinBounds(
element, position, pixRatio, screenWidth, screenHeight)) {
Map<String, dynamic> newPosition = {};
Map<String, dynamic> elementObj = {};
newPosition['x'] = ((position.dx * pixRatio) + 0.6).round();
newPosition['y'] = ((position.dy * pixRatio) + 0.6).round();
newPosition['width'] =
((element.size?.width ?? 0) * pixRatio).round();
newPosition['height'] =
((element.size?.height ?? 0) * pixRatio).round();
elementObj['clientElementId'] = element.widget.key.toString();
elementObj['position'] = newPosition;
list.add(elementObj);
}
}
list.addAll(recurseKey(element, pixRatio, screenWidth, screenHeight));
});
return list;
}