maybeFromElement static method
Implementation
static CockpitTargetGeometry? maybeFromElement(Element element) {
if (!element.mounted) {
return null;
}
final renderObject = element.findRenderObject();
if (renderObject is! RenderBox || !renderObject.attached) {
return null;
}
if (!renderObject.hasSize) {
return null;
}
final size = renderObject.size;
if (size.width <= 0 || size.height <= 0) {
return null;
}
final origin = renderObject.localToGlobal(Offset.zero);
final view =
View.maybeOf(element) ??
WidgetsBinding.instance.platformDispatcher.implicitView;
if (view == null) {
return null;
}
final logicalViewSize = view.physicalSize / view.devicePixelRatio;
return CockpitTargetGeometry(
left: origin.dx,
top: origin.dy,
width: size.width,
height: size.height,
viewportLeft: 0,
viewportTop: 0,
viewportWidth: logicalViewSize.width,
viewportHeight: logicalViewSize.height,
viewId: view.viewId,
);
}