update method

  1. @override
void update(
  1. HintState state
)
override

Show/update the UI for state (waiting — scrim without a hole, active — hole + tooltip); on HintIdle — remove the overlay.

Implementation

@override
void update(HintState state) {
  if (_disposed) return;
  _pendingState = state;

  if (state.isIdle) {
    _removeEntry();
    return;
  }

  final overlay = _overlay ?? _captureOverlay();
  if (overlay == null) {
    // Neither an explicit OverlayState nor a mounted target to capture
    // from: nowhere to draw — say so honestly (otherwise "why isn't it
    // visible" stays silent).
    _reportOverlayUnavailable();
    return;
  }
  _overlay = overlay;

  if (_entry == null) {
    _entry = _createEntry(overlay);
    overlay.insert(_entry!);
  } else {
    _entry!.markNeedsBuild();
  }
}