diff options
author | Pierre Krieger <pierre.krieger1708@gmail.com> | 2014-08-07 17:54:04 +0200 |
---|---|---|
committer | Pierre Krieger <pierre.krieger1708@gmail.com> | 2014-08-07 17:54:04 +0200 |
commit | 76ebf39bcdec733bd11950ea8478c665878460a6 (patch) | |
tree | d758748fbbcb78dd9a36d347ff2f1b9b2799eb2a /examples | |
parent | 5d997b618f1a16efb107028960b20e41a6b1bcce (diff) | |
parent | d2bd19bc21889e78c18bf64a570677e6330bbad0 (diff) | |
download | glutin-76ebf39bcdec733bd11950ea8478c665878460a6.tar.gz glutin-76ebf39bcdec733bd11950ea8478c665878460a6.zip |
Merge branch 'master' of https://github.com/tomaka/gl-init-rs
Diffstat (limited to 'examples')
-rw-r--r-- | examples/fullscreen.rs | 10 | ||||
-rw-r--r-- | examples/multiwindow.rs | 36 | ||||
-rw-r--r-- | examples/window.rs | 10 |
3 files changed, 50 insertions, 6 deletions
diff --git a/examples/fullscreen.rs b/examples/fullscreen.rs index e5f8fd4..5cb71f7 100644 --- a/examples/fullscreen.rs +++ b/examples/fullscreen.rs @@ -37,14 +37,18 @@ fn main() { }; println!("OpenGL version {}", version.as_str().unwrap()); + + { + let win_size = window.get_inner_size().unwrap(); + gl::Viewport(0, 0, win_size.val0() as libc::c_int, win_size.val1() as libc::c_int); + } gl::ClearColor(0.0, 1.0, 0.0, 1.0); while !window.is_closed() { - println!("{}", window.wait_events().collect::<Vec<init::Event>>()); - gl::Clear(gl::COLOR_BUFFER_BIT); - window.swap_buffers(); + + println!("{}", window.wait_events().collect::<Vec<init::Event>>()); } } diff --git a/examples/multiwindow.rs b/examples/multiwindow.rs new file mode 100644 index 0000000..5bc1b07 --- /dev/null +++ b/examples/multiwindow.rs @@ -0,0 +1,36 @@ +extern crate init = "gl-init-rs"; +extern crate libc; +extern crate gl; + +fn main() { + let window1 = init::Window::new().unwrap(); + let window2 = init::Window::new().unwrap(); + + spawn(proc() { + run(window1, (0.0, 1.0, 0.0, 1.0)); + }); + + spawn(proc() { + run(window2, (0.0, 0.0, 1.0, 1.0)); + }); +} + +fn run(window: init::Window, color: (f32, f32, f32, f32)) { + unsafe { window.make_current() }; + + gl::load_with(|symbol| window.get_proc_address(symbol) as *const libc::c_void); + + { + let win_size = window.get_inner_size().unwrap(); + gl::Viewport(0, 0, win_size.val0() as libc::c_int, win_size.val1() as libc::c_int); + } + + gl::ClearColor(color.val0(), color.val1(), color.val2(), color.val3()); + + while !window.is_closed() { + gl::Clear(gl::COLOR_BUFFER_BIT); + window.swap_buffers(); + + window.wait_events().collect::<Vec<init::Event>>(); + } +} diff --git a/examples/window.rs b/examples/window.rs index c366ee0..db80e39 100644 --- a/examples/window.rs +++ b/examples/window.rs @@ -16,13 +16,17 @@ fn main() { println!("OpenGL version {}", version.as_str().unwrap()); + { + let win_size = window.get_inner_size().unwrap(); + gl::Viewport(0, 0, win_size.val0() as libc::c_int, win_size.val1() as libc::c_int); + } + gl::ClearColor(0.0, 1.0, 0.0, 1.0); while !window.is_closed() { - println!("{}", window.wait_events().collect::<Vec<init::Event>>()); - gl::Clear(gl::COLOR_BUFFER_BIT); - window.swap_buffers(); + + println!("{}", window.wait_events().collect::<Vec<init::Event>>()); } } |