|
MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
|
Awaiter for suspending on window events with optional filtering. More...
#include <EventAwaiter.hpp>
Collaboration diagram for MayaFlux::Kriya::EventAwaiter:Public Member Functions | |
| EventAwaiter (Vruta::EventSource &source, Vruta::EventFilter filter={}) | |
| ~EventAwaiter () | |
| EventAwaiter (const EventAwaiter &)=delete | |
| EventAwaiter & | operator= (const EventAwaiter &)=delete |
| EventAwaiter (EventAwaiter &&) noexcept=default | |
| EventAwaiter & | operator= (EventAwaiter &&) noexcept=delete |
| bool | await_ready () |
| Check if event already available. | |
| void | await_suspend (std::coroutine_handle<> handle) |
| Suspend coroutine, register for event notification. | |
| Core::WindowEvent | await_resume () |
| Resume with event data. | |
| void | try_resume () |
| Called by EventSource when event arrives. | |
Private Attributes | |
| Vruta::EventSource & | m_source |
| Vruta::EventFilter | m_filter |
| Core::WindowEvent | m_result |
| std::coroutine_handle | m_handle |
| bool | m_is_suspended = false |
Friends | |
| class | Vruta::EventSource |
Awaiter for suspending on window events with optional filtering.
Allows coroutines to suspend until specific window events arrive. Events are filtered by type and/or input key/button, with support for both awaiting any event or specific event types.
Usage Examples:
Definition at line 44 of file EventAwaiter.hpp.