mach/libs/core/src
Stephen Gutekanst 40351f85ba core: make Core.pollEvents return an iterator, remove Core.hasEvent
After this change:

* `Core.pollEvents` returns an iterator. At the time of polling events, Mach core
  will perform work to poll for events, handle resizing of the framebuffer, etc.
  and the iterator allows the caller to consume all available events.
* The event queue is now baced by a `std.fifo.LinearFifo`, which removes the need
  for dynamic allocation of each event. Instead, the event queue starts with a generous
  size suitable for most high-end gaming setups (high-precision mouse, etc.) and can
  grow, but never shrink, up to the maximum event queue size experienced by the app
  within any given frame. Effectively, this means we find the maximum capacity needed
  to store events and avoid runtime allocations.
* `Core.hasEvent` is removed.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-26 00:19:45 -07:00
..
platform core: make Core.pollEvents return an iterator, remove Core.hasEvent 2023-01-26 00:19:45 -07:00
Core.zig core: make Core.pollEvents return an iterator, remove Core.hasEvent 2023-01-26 00:19:45 -07:00
entry.zig {mach,core}: move core sources to libs/core 2023-01-24 18:14:52 -07:00
main.zig core: correct standalone build 2023-01-24 18:14:52 -07:00
platform.zig core: make Core.pollEvents return an iterator, remove Core.hasEvent 2023-01-26 00:19:45 -07:00
Timer.zig {mach,core}: move core sources to libs/core 2023-01-24 18:14:52 -07:00