Skip to content

Commit

Permalink
Add an alternative winit runner that can be started when not on the m…
Browse files Browse the repository at this point in the history
…ain thread
  • Loading branch information
refnil committed Dec 24, 2020
1 parent 0a51a26 commit 95f073a
Showing 1 changed file with 25 additions and 2 deletions.
27 changes: 25 additions & 2 deletions crates/bevy_winit/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,15 @@ use winit::{
event_loop::{ControlFlow, EventLoop, EventLoopWindowTarget},
};

#[cfg(any(
target_os = "linux",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd"
))]
use winit::platform::unix::EventLoopExtUnix;

#[derive(Default)]
pub struct WinitPlugin;

Expand Down Expand Up @@ -157,8 +166,22 @@ where
panic!("Run return is not supported on this platform!")
}

pub fn winit_runner(mut app: App) {
let mut event_loop = EventLoop::new();
pub fn winit_runner(app: App) {
winit_runner_with(app, EventLoop::new());
}

#[cfg(any(
target_os = "linux",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd"
))]
pub fn winit_runner_any_thread(app: App) {
winit_runner_with(app, EventLoop::new_any_thread());
}

pub fn winit_runner_with(mut app: App, mut event_loop: EventLoop<()>) {
let mut create_window_event_reader = EventReader::<CreateWindow>::default();
let mut app_exit_event_reader = EventReader::<AppExit>::default();

Expand Down

0 comments on commit 95f073a

Please sign in to comment.