Struct glutin::EventsLoop

source ·
pub struct EventsLoop { /* private fields */ }
Expand description

Provides a way to retrieve 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.

Implementations§

source§

impl EventsLoop

source

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.

source

pub fn get_available_monitors(&self) -> AvailableMonitorsIter

Returns the list of all the monitors available on the system.

source

pub fn get_primary_monitor(&self) -> MonitorId

Returns the primary monitor of the system.

source

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.

source

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.

Danger!

The callback is run after every event, so if its execution time is non-trivial the event queue may not empty at a sufficient rate. Rendering in the callback with vsync enabled will cause significant lag.

source

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 Debug for EventsLoop

source§

fn fmt(&self, fmtr: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> SetParameter for T

§

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Resultwhere T: Parameter<Self>,

Sets value as a parameter of self.
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.