Module winit::event [−][src]
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 control_flow = ControlFlow::Poll;
let mut start_cause = StartCause::Init;
while control_flow != ControlFlow::Exit {
event_handler(NewEvents(start_cause), ..., &mut control_flow);
for e in (window events, user events, device events) {
event_handler(e, ..., &mut control_flow);
}
event_handler(MainEventsCleared, ..., &mut control_flow);
for w in (redraw windows) {
event_handler(RedrawRequested(w), ..., &mut control_flow);
}
event_handler(RedrawEventsCleared, ..., &mut control_flow);
start_cause = wait_if_necessary(control_flow);
}
event_handler(LoopDestroyed, ..., &mut control_flow);
This leaves out timing details like ControlFlow::WaitUntil
but hopefully
describes what happens in what order.
Structs
Identifier of an input device.
Describes a keyboard input event.
Represents the current state of the keyboard modifiers
Represents a touch event
Enums
Represents raw hardware events that are not associated with any particular window.
Describes the input state of a key.
Describes a generic event.
Describes the force of a touch event
Describes a button of a mouse controller.
Describes a difference in the mouse scroll wheel state.
Describes the reason the event loop is resuming.
Describes touch-screen input state.
Symbolic name for a keyboard key.
Describes an event from a Window
.