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

◆ mouse_released()

MAYAFLUX_API Vruta::Event MayaFlux::Kriya::mouse_released ( std::shared_ptr< Core::Window >  window,
IO::MouseButtons  button,
std::function< void(double, double)>  callback 
)

Creates an Event coroutine that triggers on specific mouse button release.

Parameters
windowWindow to listen to
buttonMouse button to wait for
callbackFunction to call on button release
Returns
Event coroutine that can be added to EventManager

Example:

[](double x, double y) {
// Handle right mouse button release at (x, y)
});
std::weak_ptr< Core::Window > window
Definition Picker.cpp:23
Vruta::Event mouse_released(std::shared_ptr< Core::Window > window, IO::MouseButtons button, std::function< void(double, double)> callback)
Creates an Event coroutine that triggers on specific mouse button release.

Definition at line 149 of file InputEvents.cpp.

153{
154 auto& promise = co_await GetEventPromise {};
155 auto& source = window->get_event_source();
156
158 filter.event_type = Core::WindowEventType::MOUSE_BUTTON_RELEASED;
159 filter.button = button;
160
161 while (true) {
162 if (promise.should_terminate) {
163 break;
164 }
165
166 co_await WindowEventAwaiter(source, filter);
167
168 auto [x, y] = source.get_mouse_position();
169 callback(x, y);
170 }
171}
PickCallback callback
Definition Picker.cpp:22
Event-domain promise accessor with optional NetworkSource ownership transfer.
std::optional< Core::WindowEventType > event_type
std::optional< IO::MouseButtons > button
Filter criteria for window input events.

References MayaFlux::Vruta::WindowEventFilter::button, callback, MayaFlux::Vruta::WindowEventFilter::event_type, MayaFlux::Core::MOUSE_BUTTON_RELEASED, and window.

Referenced by MayaFlux::Nexus::Wiring::finalise(), MayaFlux::on_mouse_released(), and MayaFlux::Portal::Forma::Context::register_handlers().

+ Here is the caller graph for this function: