Module winit::event

source ·
Expand description

The Event enum and assorted supporting types.

These are sent to the closure given to EventLoop::run(...), where they get processed and used to modify the program state. For more details, see the root-level documentation.

Some of these events represent different “parts” of a traditional event-handling loop. You could approximate the basic ordering loop of EventLoop::run(...) like this:

let mut start_cause = StartCause::Init;

while !elwt.exiting() {
    event_handler(NewEvents(start_cause), elwt);

    for e in (window events, user events, device events) {
        event_handler(e, elwt);
    }

    for w in (redraw windows) {
        event_handler(RedrawRequested(w), elwt);
    }

    event_handler(AboutToWait, elwt);
    start_cause = wait_if_necessary();
}

event_handler(LoopExiting, elwt);

This leaves out timing details like ControlFlow::WaitUntil but hopefully describes what happens in what order.

Structs

Enums

Type Aliases

  • Identifier for a specific analog axis on some device.
  • Identifier for a specific button on some device.