17 for (
auto* awaiter : waiters) {
18 awaiter->try_resume();
33 std::optional<Core::WindowEventType> filter)
47 if (event.type == *filter) {
62 auto it = std::ranges::find(
m_waiters, awaiter);
Awaiter for suspending on window events.
std::optional< Core::WindowEvent > pop_event(std::optional< Core::WindowEventType > filter)
Kriya::EventAwaiter next_event()
Creates awaiter for next event (any type)
std::vector< Kriya::EventAwaiter * > m_waiters
void register_waiter(Kriya::EventAwaiter *awaiter)
std::queue< Core::WindowEvent > m_pending_events
Kriya::EventAwaiter await_event(Core::WindowEventType type)
Creates awaiter for specific event type.
void unregister_waiter(Kriya::EventAwaiter *awaiter)
void signal(Core::WindowEvent event)
Signals that an event occurred.
WindowEventType
Types of window and input events.
Event data for window and input events.