diff options
author | Tomaka17 <pierre.krieger1708@gmail.com> | 2014-09-12 08:50:54 +0200 |
---|---|---|
committer | Tomaka17 <pierre.krieger1708@gmail.com> | 2014-09-12 08:53:31 +0200 |
commit | 3cad622ee846600bbb5bd38992113198fd9737d7 (patch) | |
tree | af516ec70ce011ed1b806864cd13150c5f59d127 /examples/support | |
parent | 6b834baedaab6086438e3a84ca72b809b9f7740f (diff) | |
download | glutin-3cad622ee846600bbb5bd38992113198fd9737d7.tar.gz glutin-3cad622ee846600bbb5bd38992113198fd9737d7.zip |
Examples now using a support module to draw
Diffstat (limited to 'examples/support')
-rw-r--r-- | examples/support/mod.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/support/mod.rs b/examples/support/mod.rs new file mode 100644 index 0000000..4495f17 --- /dev/null +++ b/examples/support/mod.rs @@ -0,0 +1,32 @@ +#[phase(plugin)] +extern crate gl_generator; + +use gl_init; + +mod gl { + generate_gl_bindings!("gl", "core", "4.5", "struct") +} + +pub struct Context { + gl: gl::Gl +} + +pub fn load(window: &gl_init::Window) -> Context { + let gl = gl::Gl::load_with(|symbol| window.get_proc_address(symbol)); + + let version = { + use std::c_str::CString; + unsafe { CString::new(gl.GetString(gl::VERSION) as *const i8, false) } + }; + + println!("OpenGL version {}", version.as_str().unwrap()); + + Context { gl: gl } +} + +impl Context { + pub fn draw_frame(&self, color: (f32, f32, f32, f32)) { + self.gl.ClearColor(color.0, color.1, color.2, color.3); + self.gl.Clear(gl::COLOR_BUFFER_BIT); + } +} |