ActiveEventLoop

Trait ActiveEventLoop 

Source
pub trait ActiveEventLoop: AsAny + Debug {
Show 13 methods // Required methods fn create_proxy(&self) -> EventLoopProxy; fn create_window( &self, window_attributes: WindowAttributes, ) -> Result<Box<dyn Window>, RequestError>; fn create_custom_cursor( &self, custom_cursor: CustomCursorSource, ) -> Result<CustomCursor, RequestError>; fn available_monitors(&self) -> Box<dyn Iterator<Item = MonitorHandle>>; fn primary_monitor(&self) -> Option<MonitorHandle>; fn listen_device_events(&self, allowed: DeviceEvents); fn system_theme(&self) -> Option<Theme>; fn set_control_flow(&self, control_flow: ControlFlow); fn control_flow(&self) -> ControlFlow; fn exit(&self); fn exiting(&self) -> bool; fn owned_display_handle(&self) -> OwnedDisplayHandle; fn rwh_06_handle(&self) -> &dyn HasDisplayHandle;
}

Required Methods§

Source

fn create_proxy(&self) -> EventLoopProxy

Creates an EventLoopProxy that can be used to dispatch user events to the main event loop, possibly from another thread.

Source

fn create_window( &self, window_attributes: WindowAttributes, ) -> Result<Box<dyn Window>, RequestError>

Create the window.

Possible causes of error include denied permission, incompatible system, and lack of memory.

§Platform-specific
  • Web: The window is created but not inserted into the Web page automatically. Please see the Web platform module for more information.
Source

fn create_custom_cursor( &self, custom_cursor: CustomCursorSource, ) -> Result<CustomCursor, RequestError>

Create custom cursor.

§Platform-specific

iOS / Android / Orbital: Unsupported.

Source

fn available_monitors(&self) -> Box<dyn Iterator<Item = MonitorHandle>>

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

§Platform-specific

Web: Only returns the current monitor without detailed monitor permissions.

Source

fn primary_monitor(&self) -> Option<MonitorHandle>

Returns the primary monitor of the system.

Returns None if it can’t identify any monitor as a primary one.

§Platform-specific
  • Wayland: Always returns None.
  • Web: Always returns None without detailed monitor permissions.
Source

fn listen_device_events(&self, allowed: DeviceEvents)

Change if or when DeviceEvents are captured.

Since the DeviceEvent capture can lead to high CPU usage for unfocused windows, winit will ignore them by default for unfocused windows on Linux/BSD. This method allows changing this at runtime to explicitly capture them again.

§Platform-specific
  • Wayland / macOS / iOS / Android / Orbital: Unsupported.
Source

fn system_theme(&self) -> Option<Theme>

Returns the current system theme.

Returns None if it cannot be determined on the current platform.

§Platform-specific
  • iOS / Android / Wayland / x11 / Orbital: Unsupported.
Source

fn set_control_flow(&self, control_flow: ControlFlow)

Sets the ControlFlow.

Source

fn control_flow(&self) -> ControlFlow

Gets the current ControlFlow.

Source

fn exit(&self)

Stop the event loop.

§Platform-specific
§iOS

It is not possible to programmatically exit/quit an application on iOS, so this function is a no-op there. See also this technical Q&A.

Source

fn exiting(&self) -> bool

Returns whether the ActiveEventLoop is about to stop.

Set by exit().

Source

fn owned_display_handle(&self) -> OwnedDisplayHandle

Gets a persistent reference to the underlying platform display.

See the OwnedDisplayHandle type for more information.

Source

fn rwh_06_handle(&self) -> &dyn HasDisplayHandle

Get the raw-window-handle handle.

Implementations§

Source§

impl dyn ActiveEventLoop + '_

Source

pub fn cast_ref<T: ActiveEventLoop>(&self) -> Option<&T>

Downcast to the backend concrete type.

Returns None if the object was not from that backend.

Source

pub fn cast_mut<T: ActiveEventLoop>(&mut self) -> Option<&mut T>

Mutable downcast to the backend concrete type.

Returns None if the object was not from that backend.

Source

pub fn cast<T: ActiveEventLoop>(self: Box<Self>) -> Result<Box<T>, Box<Self>>

Owned downcast to the backend concrete type.

Returns Err with self if the object was not from that backend.

Trait Implementations§

Source§

impl HasDisplayHandle for dyn ActiveEventLoop + '_

Source§

fn display_handle(&self) -> Result<DisplayHandle<'_>, HandleError>

Get a handle to the display controller of the windowing system.

Implementors§