run method

Future run()

Implementation

Future run() async {
  var event = calloc<SdlEvent>();
  var running = true;
  while (running) {
    var children = getCloneChildren();
    while (event.poll() != 0) {
      for (var child in children) {
        var window = child as ui.Window;
        await window.handleEvents(event);
      }
    }
    var allWindowsClosed = true;
    for (var child in children) {
      var window = child as ui.Window;
      await window.requestUpdateAndDraw();
      if (window.isAlive()) {
        allWindowsClosed = false;
      } else {
        await remove(window);
      }
    }
    if (allWindowsClosed) {
      break;
    }
    fps.delay();
  }
}