Struct winit::event_loop::EventLoopBuilder
source · pub struct EventLoopBuilder<T: 'static> { /* private fields */ }
Expand description
Object that allows building the event loop.
This is used to make specifying options that affect the whole application easier. But note that constructing multiple event loops is not supported.
Implementations§
source§impl<T> EventLoopBuilder<T>
impl<T> EventLoopBuilder<T>
sourcepub fn with_user_event() -> Self
pub fn with_user_event() -> Self
Start building a new event loop, with the given type as the user event type.
sourcepub fn build(&mut self) -> EventLoop<T>
pub fn build(&mut self) -> EventLoop<T>
Builds a new event loop.
For cross-platform compatibility, the EventLoop
must be created on the main thread,
and only once per application.
Attempting to create the event loop on a different thread, or multiple event loops in
the same application, will panic. This restriction isn’t
strictly necessary on all platforms, but is imposed to eliminate any nasty surprises when
porting to platforms that require it. EventLoopBuilderExt::any_thread
functions are exposed
in the relevant platform
module if the target platform supports creating an event loop on
any thread.
Calling this function will result in display backend initialisation.
Platform-specific
- Linux: Backend type can be controlled using an environment variable
WINIT_UNIX_BACKEND
. Legal values arex11
andwayland
. If it is not set, winit will try to connect to a Wayland connection, and if that fails, will fall back on X11. If this variable is set with any other value, winit will panic. - Android: Must be configured with an
AndroidApp
fromandroid_main()
by calling.with_android_app(app)
before calling.build()
.