areViewsPresent static method

void areViewsPresent(
  1. String listenerId,
  2. dynamic searchElements,
  3. double pixRatio,
  4. int screenWidth,
  5. int screenHeight,
)

Implementation

static void areViewsPresent(String listenerId, searchElements,
    double pixRatio, int screenWidth, int screenHeight) {
  List<Map<String, dynamic>> presentElements = [];
  for (int i = 0; i < searchElements.length; i++) {
    var key = searchElements[i]["clientElementId"];
    BuildContext? element = findViewByKey(key, _ctx);
    if (element != null) {
      RenderBox box = element.findRenderObject() as RenderBox;
      Offset position = box.localToGlobal(Offset.zero);
      if (isWithinBounds(
          element, position, pixRatio, screenWidth, screenHeight)) {
        presentElements.add(searchElements[i]);
      }
    }
  }
  _channel.invokeMethod('areViewsPresent', <String, dynamic>{
    "listenerId": listenerId,
    "presentElements": presentElements
  });
}