dispatchEvent method
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;
}