Update for Rustc

This commit is contained in:
Pierre Krieger 2015-01-08 09:28:22 +01:00
parent 25b261975c
commit dbdb43f077
8 changed files with 18 additions and 31 deletions

View file

@ -1,7 +1,5 @@
#![feature(phase)]
#[cfg(target_os = "android")] #[cfg(target_os = "android")]
#[phase(plugin, link)] #[macro_use]
extern crate android_glue; extern crate android_glue;
extern crate glutin; extern crate glutin;

View file

@ -1,7 +1,5 @@
#![feature(phase)]
#[cfg(target_os = "android")] #[cfg(target_os = "android")]
#[phase(plugin, link)] #[macro_use]
extern crate android_glue; extern crate android_glue;
extern crate glutin; extern crate glutin;

View file

@ -1,8 +1,5 @@
#![cfg(feature = "window")] #![cfg(feature = "window")]
#[phase(plugin)]
extern crate gl_generator;
use glutin; use glutin;
#[cfg(not(target_os = "android"))] #[cfg(not(target_os = "android"))]
@ -23,12 +20,12 @@ pub struct Context {
pub fn load(window: &glutin::Window) -> Context { pub fn load(window: &glutin::Window) -> Context {
let gl = gl::Gl::load(window); let gl = gl::Gl::load(window);
let version = { let version = unsafe {
use std::c_str::CString; use std::ffi;
unsafe { CString::new(gl.GetString(gl::VERSION) as *const i8, false) } ffi::c_str_to_bytes(&(gl.GetString(gl::VERSION) as *const i8)).to_string()
}; };
println!("OpenGL version {}", version.as_str().unwrap()); println!("OpenGL version {}", version);
Context { gl: gl } Context { gl: gl }
} }

View file

@ -1,7 +1,5 @@
#![feature(phase)]
#[cfg(target_os = "android")] #[cfg(target_os = "android")]
#[phase(plugin, link)] #[macro_use]
extern crate android_glue; extern crate android_glue;
extern crate glutin; extern crate glutin;

View file

@ -1,8 +1,6 @@
#![feature(unsafe_destructor)] #![feature(unsafe_destructor)]
#![feature(globs)]
#![feature(phase)] #![feature(phase)]
#![unstable] #![unstable]
#![feature(associated_types)]
//! The purpose of this library is to provide an OpenGL context on as many //! The purpose of this library is to provide an OpenGL context on as many
//! platforms as possible. //! platforms as possible.

View file

@ -6,6 +6,7 @@ use {CreationError, Event};
use CreationError::OsError; use CreationError::OsError;
use std::cell::RefCell; use std::cell::RefCell;
use std::ffi::CString;
use std::rc::Rc; use std::rc::Rc;
use std::sync::mpsc::{Sender, Receiver, channel}; use std::sync::mpsc::{Sender, Receiver, channel};
@ -224,11 +225,12 @@ pub fn new_window(builder_dimensions: Option<(uint, uint)>, builder_title: Strin
// loading the extra WGL functions // loading the extra WGL functions
let extra_functions = gl::wgl_extra::Wgl::load_with(|addr| { let extra_functions = gl::wgl_extra::Wgl::load_with(|addr| {
use libc; use libc;
use std::c_str::ToCStr;
let addr = CString::from_slice(addr.as_bytes());
let addr = addr.as_slice_with_nul().as_ptr();
unsafe { unsafe {
let addr = addr.to_c_str(); gl::wgl::GetProcAddress(addr) as *const libc::c_void
gl::wgl::GetProcAddress(addr.as_ptr()) as *const libc::c_void
} }
}); });

View file

@ -1,5 +1,6 @@
use std::sync::atomic::AtomicBool; use std::sync::atomic::AtomicBool;
use std::ptr; use std::ptr;
use std::ffi::CString;
use std::collections::RingBuf; use std::collections::RingBuf;
use std::sync::mpsc::Receiver; use std::sync::mpsc::Receiver;
use libc; use libc;
@ -256,14 +257,13 @@ impl Window {
/// See the docs in the crate root file. /// See the docs in the crate root file.
pub fn get_proc_address(&self, addr: &str) -> *const () { pub fn get_proc_address(&self, addr: &str) -> *const () {
use std::c_str::ToCStr; let addr = CString::from_slice(addr.as_bytes());
let addr = addr.as_slice_with_nul().as_ptr();
unsafe { unsafe {
addr.with_c_str(|s| { let p = gl::wgl::GetProcAddress(addr) as *const ();
let p = gl::wgl::GetProcAddress(s) as *const (); if !p.is_null() { return p; }
if !p.is_null() { return p; } winapi::GetProcAddress(self.gl_library, addr) as *const ()
winapi::GetProcAddress(self.gl_library, s) as *const ()
})
} }
} }

View file

@ -1,7 +1,3 @@
#![feature(phase)]
#[phase(plugin)]
extern crate gl_generator;
extern crate glutin; extern crate glutin;
extern crate libc; extern crate libc;