aboutsummaryrefslogtreecommitdiffstats
path: root/examples/grabbing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/grabbing.rs')
-rw-r--r--examples/grabbing.rs48
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);
- },
-
- _ => (),
- }
-
- }
-
}
}