diff options
Diffstat (limited to 'examples/grabbing.rs')
-rw-r--r-- | examples/grabbing.rs | 48 |
1 files changed, 22 insertions, 26 deletions
diff --git a/examples/grabbing.rs b/examples/grabbing.rs index 8a46750..a0a8fda 100644 --- a/examples/grabbing.rs +++ b/examples/grabbing.rs @@ -16,40 +16,36 @@ fn main() { println!("This example requires glutin to be compiled with the `wind #[cfg(feature = "window")] fn main() { - let window = glutin::Window::new().unwrap(); + let window = glutin::WindowBuilder::new().with_gl_profile(glutin::GlProfile::Compatibility).build().unwrap(); window.set_title("glutin - Cursor grabbing test"); unsafe { window.make_current() }; let context = support::load(&window); let mut grabbed = false; - while !window.is_closed() { + for event in window.poll_events() { + match event { + Event::KeyboardInput(ElementState::Pressed, _, _) => { + if grabbed { + grabbed = false; + window.set_cursor_state(glutin::CursorState::Normal) + .ok().expect("could not ungrab mouse cursor"); + } else { + grabbed = true; + window.set_cursor_state(glutin::CursorState::Grab) + .ok().expect("could not grab mouse cursor"); + } + }, + + a @ Event::MouseMoved(_) => { + println!("{:?}", a); + }, + + _ => (), + } + context.draw_frame((0.0, 1.0, 0.0, 1.0)); window.swap_buffers(); - - for event in window.poll_events() { - match event { - Event::KeyboardInput(ElementState::Pressed, _, _) => { - if grabbed { - grabbed = false; - window.set_cursor_state(glutin::CursorState::Normal) - .ok().expect("could not ungrab mouse cursor"); - } else { - grabbed = true; - window.set_cursor_state(glutin::CursorState::Grab) - .ok().expect("could not grab mouse cursor"); - } - }, - - a @ Event::MouseMoved(_) => { - println!("{:?}", a); - }, - - _ => (), - } - - } - } } |