MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Kriya::EventAwaiter Class Reference

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
 
EventAwaiteroperator= (const EventAwaiter &)=delete
 
 EventAwaiter (EventAwaiter &&) noexcept=default
 
EventAwaiteroperator= (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::EventSourcem_source
 
std::optional< Core::WindowEventTypem_filter
 
Core::WindowEvent m_result
 
std::coroutine_handle m_handle
 
bool m_is_suspended = false
 

Friends

class Vruta::EventSource
 

Detailed Description

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.


The documentation for this class was generated from the following files: