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 14, 2020
1 parent e511cdb commit 5051a56
Showing 1 changed file with 27 additions and 2 deletions.
29 changes: 27 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 @@ -158,8 +167,24 @@ 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 5051a56

Please sign in to comment.