diff options
| author | David Partouche <david@manateedev.com> | 2014-11-26 14:38:42 +0100 | 
|---|---|---|
| committer | David Partouche <david@manateedev.com> | 2014-11-26 14:53:08 +0100 | 
| commit | 23b108d4366ddf3bf134c443b19bff609247c1fd (patch) | |
| tree | 07db6e130d55f9e85a0541e3483895730352e74f /src | |
| parent | 429874ed811de1d8442e1a24c09df66ee77148a3 (diff) | |
| download | glutin-23b108d4366ddf3bf134c443b19bff609247c1fd.tar.gz glutin-23b108d4366ddf3bf134c443b19bff609247c1fd.zip  | |
Added swap interval to osx
Diffstat (limited to 'src')
| -rw-r--r-- | src/osx/mod.rs | 13 | 
1 files changed, 9 insertions, 4 deletions
diff --git a/src/osx/mod.rs b/src/osx/mod.rs index 7209aa4..8ab3efd 100644 --- a/src/osx/mod.rs +++ b/src/osx/mod.rs @@ -75,7 +75,7 @@ impl Window {              unimplemented!()          } -        Window::new_impl(builder.dimensions, builder.title.as_slice(), builder.monitor, true) +        Window::new_impl(builder.dimensions, builder.title.as_slice(), builder.monitor, builder.vsync, true)      }  } @@ -98,7 +98,8 @@ extern fn window_should_close(this: id, _: id) -> id {  }  impl Window { -    fn new_impl(dimensions: Option<(uint, uint)>, title: &str, monitor: Option<MonitorID>, visible: bool) -> Result<Window, CreationError> { +    fn new_impl(dimensions: Option<(uint, uint)>, title: &str, monitor: Option<MonitorID>, +                vsync: bool, visible: bool) -> Result<Window, CreationError> {          let app = match Window::create_app() {              Some(app) => app,              None      => { return Err(OsError(format!("Couldn't create NSApplication"))); }, @@ -112,7 +113,7 @@ impl Window {              None       => { return Err(OsError(format!("Couldn't create NSView"))); },          }; -        let context = match Window::create_context(view) { +        let context = match Window::create_context(view, vsync) {              Some(context) => context,              None          => { return Err(OsError(format!("Couldn't create OpenGL context"))); },          }; @@ -219,7 +220,7 @@ impl Window {          }      } -    fn create_context(view: id) -> Option<id> { +    fn create_context(view: id, vsync: bool) -> Option<id> {          unsafe {              let attributes = [                  NSOpenGLPFADoubleBuffer as uint, @@ -241,6 +242,10 @@ impl Window {                  None              } else {                  context.setView_(view); +                if vsync { +                    let value = 1; +                    context.setValues_forParameter_(&value, NSOpenGLCPSwapInterval); +                }                  Some(context)              }          }  | 
