maybeFromViewport static method

CockpitTargetGeometry? maybeFromViewport(
  1. Element element
)

Implementation

static CockpitTargetGeometry? maybeFromViewport(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 origin = renderObject.localToGlobal(Offset.zero);
  final size = renderObject.size;
  final view =
      View.maybeOf(element) ??
      WidgetsBinding.instance.platformDispatcher.implicitView;
  if (view == null) {
    return null;
  }

  return CockpitTargetGeometry(
    left: origin.dx,
    top: origin.dy,
    width: size.width,
    height: size.height,
    viewportLeft: origin.dx,
    viewportTop: origin.dy,
    viewportWidth: size.width,
    viewportHeight: size.height,
    viewId: view.viewId,
  );
}