debugIsVisible method

bool debugIsVisible (OverlayEntry entry)

(DEBUG ONLY) Check whether a given entry is visible (i.e., not behind an opaque entry).

This is an O(N) algorithm, and should not be necessary except for debug asserts. To avoid people depending on it, this function is implemented only in checked mode.

Implementation

bool debugIsVisible(OverlayEntry entry) {
  bool result = false;
  assert(_entries.contains(entry));
  assert(() {
    for (int i = _entries.length - 1; i > 0; i -= 1) {
      final OverlayEntry candidate = _entries[i];
      if (candidate == entry) {
        result = true;
        break;
      }
      if (candidate.opaque)
        break;
    }
    return true;
  }());
  return result;
}