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.
Note that the EventsLoop cannot be shared accross threads (due to platform-dependant logic
forbiding it), as such it is neither Send nor Sync. If you need cross-thread access, the
Window created from this EventsLoop can be sent to an other thread, and the
EventsLoopProxy allows you to wakeup an EventsLoop from an other thread.
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.
Trait Implementations
impl EventsLoopExt for EventsLoop[src]
fn new_x11() -> Result<Self, XNotSupported>[src]
Builds a new EventsLoop that is forced to use X11.
fn new_wayland() -> Self[src]
Builds a new EventsLoop that is forced to use Wayland.
fn is_wayland(&self) -> bool[src]
True if the EventsLoop uses Wayland.
fn is_x11(&self) -> bool[src]
True if the EventsLoop uses X11.