From 3cad622ee846600bbb5bd38992113198fd9737d7 Mon Sep 17 00:00:00 2001 From: Tomaka17 Date: Fri, 12 Sep 2014 08:50:54 +0200 Subject: Examples now using a support module to draw --- examples/support/mod.rs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 examples/support/mod.rs (limited to 'examples/support') 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); + } +} -- cgit v1.2.3