pub trait ActiveEventLoop: AsAny {
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§
sourcefn create_proxy(&self) -> EventLoopProxy
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.
sourcefn create_window(
&self,
window_attributes: WindowAttributes,
) -> Result<Box<dyn Window>, RequestError>
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.
sourcefn create_custom_cursor(
&self,
custom_cursor: CustomCursorSource,
) -> Result<CustomCursor, RequestError>
fn create_custom_cursor( &self, custom_cursor: CustomCursorSource, ) -> Result<CustomCursor, RequestError>
sourcefn available_monitors(&self) -> Box<dyn Iterator<Item = MonitorHandle>>
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.
sourcefn primary_monitor(&self) -> Option<MonitorHandle>
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.
sourcefn listen_device_events(&self, allowed: DeviceEvents)
fn listen_device_events(&self, allowed: DeviceEvents)
Change if or when DeviceEvent
s 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.
sourcefn system_theme(&self) -> Option<Theme>
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.
sourcefn set_control_flow(&self, control_flow: ControlFlow)
fn set_control_flow(&self, control_flow: ControlFlow)
Sets the ControlFlow
.
sourcefn control_flow(&self) -> ControlFlow
fn control_flow(&self) -> ControlFlow
Gets the current ControlFlow
.
sourcefn owned_display_handle(&self) -> OwnedDisplayHandle
fn owned_display_handle(&self) -> OwnedDisplayHandle
Gets a persistent reference to the underlying platform display.
See the OwnedDisplayHandle
type for more information.
sourcefn rwh_06_handle(&self) -> &dyn HasDisplayHandle
fn rwh_06_handle(&self) -> &dyn HasDisplayHandle
Get the raw-window-handle handle.
Trait Implementations§
source§impl ActiveEventLoopExtWayland for dyn ActiveEventLoop + '_
impl ActiveEventLoopExtWayland for dyn ActiveEventLoop + '_
source§fn is_wayland(&self) -> bool
fn is_wayland(&self) -> bool
ActiveEventLoop
uses Wayland.source§impl ActiveEventLoopExtX11 for dyn ActiveEventLoop + '_
impl ActiveEventLoopExtX11 for dyn ActiveEventLoop + '_
source§fn is_x11(&self) -> bool
fn is_x11(&self) -> bool
ActiveEventLoop
uses X11.