dispatchEvent method

bool dispatchEvent(
  1. InputEvent event
)

Dispatches an InputEvent to all registered handlers sequentially.

If a handler returns a handled response, marks the affected components dirty and requests redraw via RenderManager.

Returns true if any handler signals the ResponseCommands.exit command, indicating the application should exit.

Implementation

bool dispatchEvent(InputEvent event) {
  for (var handler in _handlers) {
    final response = handler.handleInput(event);
    if (response.handled) {
      if (!_renderManager.needsRecompute) {
        for (final component in response.dirty ?? []) {
          _renderManager.markDirty(component);
        }

        if ((response.dirty ?? []).isNotEmpty) _renderManager.requestRedraw();
      }
      if (response.commands == ResponseCommands.exit) return true;
    }
  }

  return false;
}