MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ try_resume()

void MayaFlux::Kriya::WindowEventAwaiter::try_resume ( const void *  event)
overridevirtual

Casts event to Core::WindowEvent, checks filter, resumes if matched.

Parameters
eventType-erased pointer to Core::WindowEvent.

Implements MayaFlux::Kriya::EventAwaiter.

Definition at line 33 of file EventAwaiter.cpp.

34{
35 if (!filter_matches(event))
36 return;
37
38 if (auto ev = m_source.pop_event(m_filter)) {
39 m_result = *ev;
41 m_is_suspended = false;
42 m_handle.resume();
43 }
44}
std::coroutine_handle m_handle
bool filter_matches(const void *event) const override
Casts event to Core::WindowEvent and checks against stored filter.
Vruta::WindowEventFilter m_filter
Vruta::WindowEventSource & m_source
void unregister_waiter(Kriya::EventAwaiter *awaiter)
std::optional< Core::WindowEvent > pop_event(const WindowEventFilter &filter)
Removes and returns the first pending event matching the filter.

References filter_matches(), m_filter, MayaFlux::Kriya::EventAwaiter::m_handle, MayaFlux::Kriya::EventAwaiter::m_is_suspended, m_result, m_source, MayaFlux::Vruta::WindowEventSource::pop_event(), and MayaFlux::Vruta::EventSource::unregister_waiter().

+ Here is the call graph for this function: