|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
Awaiter for suspending on window events. More...
#include <Awaiters.hpp>
Collaboration diagram for MayaFlux::Kriya::EventAwaiter:Public Member Functions | |
| EventAwaiter (Vruta::EventSource &source, std::optional< Core::WindowEventType > filter=std::nullopt) | |
| ~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 |
| std::optional< Core::WindowEventType > | 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.
Usage: auto event = co_await window->get_event_source().next_event(); auto key_event = co_await window->get_event_source().await_event(WindowEventType::KEY_PRESSED);
Definition at line 280 of file Awaiters.hpp.