The current implementation of the event loop runner has some significant problems. It can't handle multiple events being emitted at once (for example, when a keyboard event causes a key input, a text input, and a modifier change.) It's also relatively easy to introduce bugs for the different possible control flow states. The new model separates intentionally emitting a NewEvents (poll completed, wait completed, init) and emitting a normal event, as well as providing a method for emitting multiple events in a single call. |
||
|---|---|---|
| .. | ||
| mod.rs | ||
| proxy.rs | ||
| runner.rs | ||
| state.rs | ||
| window_target.rs | ||