Merge pull request #326 from tomaka/rustup

Rustup
This commit is contained in:
tomaka 2015-03-25 21:35:21 +01:00
commit f31cbf2a02
11 changed files with 28 additions and 19 deletions

View file

@ -1,3 +1,5 @@
#![feature(convert)]
extern crate gl_generator;
extern crate khronos_api;
@ -7,7 +9,7 @@ use std::path::PathBuf;
fn main() {
let target = env::var("TARGET").unwrap();
let dest = PathBuf::new(&env::var("OUT_DIR").unwrap());
let dest = PathBuf::from(&env::var("OUT_DIR").unwrap());
if target.contains("windows") {
let mut file = File::create(&dest.join("wgl_bindings.rs")).unwrap();

View file

@ -1,3 +1,5 @@
#![feature(std_misc)]
#[cfg(target_os = "android")]
#[macro_use]
extern crate android_glue;

View file

@ -1,3 +1,5 @@
#![feature(std_misc)]
#[cfg(target_os = "android")]
#[macro_use]
extern crate android_glue;

View file

@ -1,3 +1,5 @@
#![feature(std_misc)]
#[cfg(target_os = "android")]
#[macro_use]
extern crate android_glue;

View file

@ -1,3 +1,5 @@
#![feature(std_misc)]
#[cfg(target_os = "android")]
#[macro_use]
extern crate android_glue;

View file

@ -1,3 +1,5 @@
#![feature(std_misc)]
#[cfg(target_os = "android")]
#[macro_use]
extern crate android_glue;

View file

@ -1,4 +1,4 @@
#![feature(unsafe_destructor,core,std_misc)]
#![feature(collections, unsafe_destructor, os, core, std_misc, alloc)]
#![unstable]
//! The purpose of this library is to provide an OpenGL context on as many
@ -32,17 +32,17 @@ extern crate libc;
#[cfg(target_os = "windows")]
extern crate winapi;
#[cfg(target_os = "windows")]
extern crate "kernel32-sys" as kernel32;
extern crate kernel32_sys as kernel32;
#[cfg(target_os = "windows")]
extern crate "gdi32-sys" as gdi32;
extern crate gdi32_sys as gdi32;
#[cfg(target_os = "windows")]
extern crate "user32-sys" as user32;
extern crate user32_sys as user32;
#[cfg(target_os = "macos")]
extern crate cocoa;
#[cfg(target_os = "macos")]
extern crate core_foundation;
#[cfg(target_os = "macos")]
extern crate "glutin_core_graphics" as core_graphics;
extern crate glutin_core_graphics as core_graphics;
pub use events::*;
#[cfg(feature = "headless")]
@ -86,7 +86,7 @@ pub enum CreationError {
impl CreationError {
fn to_string(&self) -> &str {
match *self {
CreationError::OsError(ref text) => text.as_slice(),
CreationError::OsError(ref text) => &text,
CreationError::NotSupported => "Some of the requested attributes are not supported",
}
}

View file

@ -1,6 +1,6 @@
use std::rc::Rc;
use std::cell::RefCell;
use std::sync::mpsc::{Sender, Receiver, channel};
use std::sync::mpsc::Sender;
use Event;
use super::event;
@ -52,7 +52,7 @@ pub unsafe extern "system" fn callback(window: winapi::HWND, msg: winapi::UINT,
};
if win == &window {
unsafe { user32::PostQuitMessage(0); }
user32::PostQuitMessage(0);
}
});
@ -83,7 +83,7 @@ pub unsafe extern "system" fn callback(window: winapi::HWND, msg: winapi::UINT,
winapi::WM_CHAR => {
use std::mem;
use events::Event::ReceivedCharacter;
let chr: char = unsafe { mem::transmute(wparam as u32) };
let chr: char = mem::transmute(wparam as u32);
send_event(window, ReceivedCharacter(chr));
0
},
@ -188,7 +188,7 @@ pub unsafe extern "system" fn callback(window: winapi::HWND, msg: winapi::UINT,
0
},
_ => unsafe {
_ => {
user32::DefWindowProcW(window, msg, wparam, lparam)
}
}

View file

@ -235,7 +235,7 @@ unsafe fn init(title: Vec<u16>, builder: BuilderAttribs<'static>,
// handling vsync
if builder.vsync {
if extra_functions.SwapIntervalEXT.is_loaded() {
let guard = try!(CurrentContextGuard::make_current(&real_window, &context));
let _guard = try!(CurrentContextGuard::make_current(&real_window, &context));
if extra_functions.SwapIntervalEXT(1) == 0 {
return Err(OsError(format!("wglSwapIntervalEXT failed")));

View file

@ -1,7 +1,6 @@
use std::sync::atomic::AtomicBool;
use std::ptr;
use std::ffi::CString;
use std::collections::VecDeque;
use std::sync::mpsc::Receiver;
use libc;
use {CreationError, Event, MouseCursor};

View file

@ -2,6 +2,7 @@ use winapi;
use user32;
use std::collections::VecDeque;
use std::mem;
use native_monitor::NativeMonitorId;
@ -83,15 +84,12 @@ impl Iterator for DeviceEnumerator {
fn wchar_as_string(wchar: &[winapi::WCHAR]) -> String {
String::from_utf16_lossy(wchar)
.as_slice()
.trim_right_matches(0 as char)
.to_string()
}
/// Win32 implementation of the main `get_available_monitors` function.
pub fn get_available_monitors() -> VecDeque<MonitorID> {
use std::{iter, mem, ptr};
// return value
let mut result = VecDeque::new();
@ -120,8 +118,8 @@ pub fn get_available_monitors() -> VecDeque<MonitorID> {
// adding to the resulting list
result.push_back(MonitorID {
adapter_name: adapter.DeviceName,
monitor_name: wchar_as_string(monitor.DeviceName.as_slice()),
readable_name: wchar_as_string(monitor.DeviceString.as_slice()),
monitor_name: wchar_as_string(&monitor.DeviceName),
readable_name: wchar_as_string(&monitor.DeviceString),
flags: monitor.StateFlags,
position: position,
dimensions: dimensions,
@ -165,7 +163,7 @@ impl MonitorID {
/// This is a Win32-only function for `MonitorID` that returns the system name of the adapter
/// device.
pub fn get_adapter_name(&self) -> &[winapi::WCHAR] {
self.adapter_name.as_slice()
&self.adapter_name
}
/// This is a Win32-only function for `MonitorID` that returns the position of the