diff --git a/README.md b/README.md index bc4b6971..0e5e1655 100644 --- a/README.md +++ b/README.md @@ -32,18 +32,21 @@ another library. ```rust extern crate winit; +use winit::window::WindowBuilder; +use winit::event::{Event, WindowEvent}; +use winit::event_loop::{EventLoop, ControlFlow}; fn main() { - let mut event_loop = winit::EventLoop::new(); - let window = winit::Window::new(&event_loop).unwrap(); + let event_loop = EventLoop::new(); + let window = WindowBuilder::new().build(&event_loop).unwrap(); - event_loop.run(|event| { + event_loop.run(move |event, _, control_flow| { match event { - winit::Event::WindowEvent { - event: winit::WindowEvent::CloseRequested, - .. - } => winit::ControlFlow::Break, - _ => winit::ControlFlow::Continue, + Event::WindowEvent { + event: WindowEvent::CloseRequested, + window_id, + } if window_id == window.id() => *control_flow = ControlFlow::Exit, + _ => *control_flow = ControlFlow::Wait, } }); } diff --git a/examples/window.rs b/examples/window.rs index 3d5c7cf7..34f36793 100644 --- a/examples/window.rs +++ b/examples/window.rs @@ -6,19 +6,19 @@ use winit::event_loop::{EventLoop, ControlFlow}; fn main() { let event_loop = EventLoop::new(); - let _window = WindowBuilder::new() + let window = WindowBuilder::new() .with_title("A fantastic window!") .build(&event_loop) .unwrap(); - event_loop.run(|event, _, control_flow| { + event_loop.run(move |event, _, control_flow| { println!("{:?}", event); match event { Event::WindowEvent { event: WindowEvent::CloseRequested, - .. - } => *control_flow = ControlFlow::Exit, + window_id, + } if window_id == window.id() => *control_flow = ControlFlow::Exit, _ => *control_flow = ControlFlow::Wait, } });