|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
Awaiter for suspending on GLFW window input events with optional filtering. More...
#include <EventAwaiter.hpp>
Inheritance diagram for MayaFlux::Kriya::WindowEventAwaiter:
Collaboration diagram for MayaFlux::Kriya::WindowEventAwaiter:Public Member Functions | |
| bool | await_ready () |
| Returns true if a matching event is already queued; stores it if so. | |
| Core::WindowEvent | await_resume () |
| Returns the event that caused resumption. | |
| void | await_suspend (std::coroutine_handle<> handle) |
| Registers with the source and suspends the coroutine. | |
| bool | filter_matches (const void *event) const override |
| Casts event to Core::WindowEvent and checks against stored filter. | |
| WindowEventAwaiter & | operator= (const WindowEventAwaiter &)=delete |
| WindowEventAwaiter & | operator= (WindowEventAwaiter &&) noexcept=delete |
| void | try_resume (const void *event) override |
| Casts event to Core::WindowEvent, checks filter, resumes if matched. | |
| WindowEventAwaiter (const WindowEventAwaiter &)=delete | |
| WindowEventAwaiter (Vruta::WindowEventSource &source, Vruta::WindowEventFilter filter={}) | |
| WindowEventAwaiter (WindowEventAwaiter &&) noexcept=default | |
| ~WindowEventAwaiter () override | |
Public Member Functions inherited from MayaFlux::Kriya::EventAwaiter | |
| EventAwaiter ()=default | |
| EventAwaiter (const EventAwaiter &)=delete | |
| EventAwaiter (EventAwaiter &&) noexcept=default | |
| EventAwaiter & | operator= (const EventAwaiter &)=delete |
| EventAwaiter & | operator= (EventAwaiter &&) noexcept=default |
| virtual | ~EventAwaiter ()=default |
Private Attributes | |
| Vruta::WindowEventFilter | m_filter |
| Core::WindowEvent | m_result |
| Vruta::WindowEventSource & | m_source |
Friends | |
| class | Vruta::WindowEventSource |
Additional Inherited Members | |
Protected Attributes inherited from MayaFlux::Kriya::EventAwaiter | |
| std::coroutine_handle | m_handle |
| bool | m_is_suspended {} |
Awaiter for suspending on GLFW window input events with optional filtering.
Payload type is Core::WindowEvent. Filter criteria are WindowEventType, IO::Keys, and IO::MouseButtons via EventFilter. Works with any coroutine type: SoundRoutine, GraphicsRoutine, Event, ComplexRoutine.
Multiple awaiters may register against the same WindowEventSource simultaneously. The source must outlive any suspended awaiter.
Definition at line 79 of file EventAwaiter.hpp.