Struct glutin::EventsLoop
source · pub struct EventsLoop { /* private fields */ }
Expand description
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.
Implementations§
source§impl EventsLoop
impl EventsLoop
sourcepub fn new() -> EventsLoop
pub fn new() -> EventsLoop
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.
sourcepub fn get_available_monitors(&self) -> AvailableMonitorsIter ⓘ
pub fn get_available_monitors(&self) -> AvailableMonitorsIter ⓘ
Returns the list of all the monitors available on the system.
sourcepub fn get_primary_monitor(&self) -> MonitorId
pub fn get_primary_monitor(&self) -> MonitorId
Returns the primary monitor of the system.
sourcepub fn poll_events<F>(&mut self, callback: F)where
F: FnMut(Event),
pub fn poll_events<F>(&mut self, callback: F)where F: FnMut(Event),
Fetches all the events that are pending, calls the callback function for each of them, and returns.
sourcepub fn run_forever<F>(&mut self, callback: F)where
F: FnMut(Event) -> ControlFlow,
pub fn run_forever<F>(&mut self, callback: F)where 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.
sourcepub fn create_proxy(&self) -> EventsLoopProxy
pub fn create_proxy(&self) -> EventsLoopProxy
Creates an EventsLoopProxy
that can be used to wake up the EventsLoop
from another
thread.
Trait Implementations§
source§impl EventsLoopExt for EventsLoop
impl EventsLoopExt for EventsLoop
source§fn new_x11() -> Result<EventsLoop, XNotSupported>
fn new_x11() -> Result<EventsLoop, XNotSupported>
EventsLoop
that is forced to use X11.source§fn new_wayland() -> EventsLoop
fn new_wayland() -> EventsLoop
EventsLoop
that is forced to use Wayland.source§fn is_wayland(&self) -> bool
fn is_wayland(&self) -> bool
EventsLoop
uses Wayland.