Struct winit::EventsLoop
[−]
[src]
pub struct EventsLoop { /* fields omitted */ }
Provides a way to retreive events from the system and from the windows that were registered to the events loop.
An EventsLoop
can be seen more or less as a "context". Calling EventsLoop::new()
initializes everything that will be required to create windows. For example on Linux creating
an events loop opens a connection to the X or Wayland server.
To wake up an EventsLoop
from a another thread, see the EventsLoopProxy
docs.
Methods
impl EventsLoop
[src]
fn new() -> EventsLoop
[src]
Builds a new events loop.
Usage will result in display backend initialisation, this can be controlled on linux
using an environment variable WINIT_UNIX_BACKEND
. Legal values are x11
and wayland
.
If it is not set, winit will try to connect to a wayland connection, and if it fails will
fallback on x11. If this variable is set with any other value, winit will panic.
fn get_available_monitors(&self) -> AvailableMonitorsIter
[src]
Returns the list of all the monitors available on the system.
fn get_primary_monitor(&self) -> MonitorId
[src]
Returns the primary monitor of the system.
fn poll_events<F>(&mut self, callback: F) where
F: FnMut(Event),
[src]
F: FnMut(Event),
Fetches all the events that are pending, calls the callback function for each of them, and returns.
fn run_forever<F>(&mut self, callback: F) where
F: FnMut(Event) -> ControlFlow,
[src]
F: FnMut(Event) -> ControlFlow,
Calls callback
every time an event is received. If no event is available, sleeps the
current thread and waits for an event. If the callback returns ControlFlow::Break
then
run_forever
will immediately return.
fn create_proxy(&self) -> EventsLoopProxy
[src]
Creates an EventsLoopProxy
that can be used to wake up the EventsLoop
from another
thread.