aboutsummaryrefslogtreecommitdiffstats
path: root/examples/support
diff options
context:
space:
mode:
authorTomaka17 <pierre.krieger1708@gmail.com>2014-09-12 08:50:54 +0200
committerTomaka17 <pierre.krieger1708@gmail.com>2014-09-12 08:53:31 +0200
commit3cad622ee846600bbb5bd38992113198fd9737d7 (patch)
treeaf516ec70ce011ed1b806864cd13150c5f59d127 /examples/support
parent6b834baedaab6086438e3a84ca72b809b9f7740f (diff)
downloadglutin-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.rs32
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);
+ }
+}