2017-05-25 02:29:51 +10:00
|
|
|
extern crate winit;
|
|
|
|
|
|
|
|
fn main() {
|
2017-06-08 00:12:41 +10:00
|
|
|
let mut events_loop = winit::EventsLoop::new();
|
2017-05-25 02:29:51 +10:00
|
|
|
|
2017-06-08 00:12:41 +10:00
|
|
|
let _window = winit::WindowBuilder::new()
|
2017-05-25 02:29:51 +10:00
|
|
|
.with_title("A fantastic window!")
|
|
|
|
.build(&events_loop)
|
|
|
|
.unwrap();
|
|
|
|
|
|
|
|
let proxy = events_loop.create_proxy();
|
|
|
|
|
2017-07-20 02:53:49 +10:00
|
|
|
if cfg!(target_os = "linux") {
|
|
|
|
println!("Running this example under wayland may not display a window at all.\n\
|
|
|
|
This is normal and because this example does not actually draw anything in the window,\
|
|
|
|
thus the compositor does not display it.");
|
|
|
|
}
|
|
|
|
|
2017-05-25 02:29:51 +10:00
|
|
|
std::thread::spawn(move || {
|
|
|
|
// Wake up the `events_loop` once every second.
|
|
|
|
loop {
|
|
|
|
std::thread::sleep(std::time::Duration::from_secs(1));
|
2017-05-25 23:19:13 +10:00
|
|
|
proxy.wakeup().unwrap();
|
2017-05-25 02:29:51 +10:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
events_loop.run_forever(|event| {
|
|
|
|
println!("{:?}", event);
|
|
|
|
match event {
|
|
|
|
winit::Event::WindowEvent { event: winit::WindowEvent::Closed, .. } =>
|
2017-06-20 21:25:53 +10:00
|
|
|
winit::ControlFlow::Break,
|
2017-06-08 00:12:41 +10:00
|
|
|
_ => winit::ControlFlow::Continue,
|
2017-05-25 02:29:51 +10:00
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|