Update for Rustc

This commit is contained in:
Pierre Krieger 2015-01-03 23:11:59 +01:00
parent ebe32bb2d8
commit 4c5e430dd3
12 changed files with 32 additions and 27 deletions

View file

@ -38,9 +38,9 @@ git = "https://github.com/servo/rust-core-graphics"
git = "https://github.com/servo/rust-core-graphics"
[target.i686-pc-windows-gnu.dependencies.winapi]
version = "^0.0.3"
version = "*"
features = ["gdi32", "kernel32", "user32"]
[target.x86_64-pc-windows-gnu.dependencies.winapi]
version = "^0.0.3"
version = "*"
features = ["gdi32", "kernel32", "user32"]

View file

@ -25,7 +25,7 @@ fn main() {
}
print!("Please write the number of the monitor to use: ");
let num = from_str(stdin().read_line().unwrap().as_slice().trim())
let num = stdin().read_line().unwrap().as_slice().trim().parse()
.expect("Plase enter a number");
let monitor = glutin::get_available_monitors().nth(num).expect("Please enter a valid ID");

View file

@ -80,7 +80,7 @@ impl Context {
}
#[cfg(target_os = "android")]
static VERTEX_DATA: [f32, ..15] = [
static VERTEX_DATA: [f32; 15] = [
-0.5, -0.5, 1.0, 0.0, 0.0,
0.0, 0.5, 0.0, 1.0, 0.0,
0.5, -0.5, 0.0, 0.0, 1.0

View file

@ -287,7 +287,7 @@ unsafe impl Send for Window {}
unsafe impl Sync for Window {}
#[cfg(feature = "window")]
#[deriving(Clone)]
#[derive(Clone)]
pub struct WindowProxy;
impl WindowProxy {

View file

@ -1,4 +1,4 @@
#[deriving(Clone, Show, Copy)]
#[derive(Clone, Show, Copy)]
pub enum Event {
/// The size of the window has changed.
Resized(uint, uint),
@ -38,13 +38,13 @@ pub enum Event {
pub type ScanCode = u8;
#[deriving(Show, Hash, PartialEq, Eq, Clone, Copy)]
#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
pub enum ElementState {
Pressed,
Released,
}
#[deriving(Show, Hash, PartialEq, Eq, Clone, Copy)]
#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
pub enum MouseButton {
LeftMouseButton,
RightMouseButton,
@ -52,7 +52,7 @@ pub enum MouseButton {
OtherMouseButton(u8),
}
#[deriving(Show, Hash, PartialEq, Eq, Clone, Copy)]
#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
pub enum VirtualKeyCode {
/// The '1' key over the letters.
Key1,

View file

@ -68,7 +68,7 @@ mod events;
pub struct MonitorID(winimpl::MonitorID);
/// Error that can happen while creating a window or a headless renderer.
#[deriving(Clone, Show, PartialEq, Eq)]
#[derive(Clone, Show, PartialEq, Eq)]
pub enum CreationError {
OsError(String),
NotSupported,
@ -84,7 +84,7 @@ impl std::error::Error for CreationError {
}
/// All APIs related to OpenGL that you can possibly get while using glutin.
#[deriving(Show, Clone, Copy, PartialEq, Eq)]
#[derive(Show, Clone, Copy, PartialEq, Eq)]
pub enum Api {
/// The classical OpenGL. Available on Windows, Linux, OS/X.
OpenGl,
@ -575,7 +575,7 @@ impl gl_common::GlFunctionsSource for Window {
/// threads.
///
#[cfg(feature = "window")]
#[deriving(Clone)]
#[derive(Clone)]
pub struct WindowProxy {
proxy: winimpl::WindowProxy,
}

View file

@ -78,7 +78,7 @@ unsafe impl Send for Window {}
unsafe impl Sync for Window {}
#[cfg(feature = "window")]
#[deriving(Clone)]
#[derive(Clone)]
pub struct WindowProxy;
impl WindowProxy {

View file

@ -7,6 +7,7 @@ use CreationError::OsError;
use std::cell::RefCell;
use std::rc::Rc;
use std::sync::mpsc::{Sender, Receiver, channel};
use libc;
use super::gl;
@ -222,11 +223,12 @@ pub fn new_window(builder_dimensions: Option<(uint, uint)>, builder_title: Strin
// loading the extra WGL functions
let extra_functions = gl::wgl_extra::Wgl::load_with(|addr| {
use libc;
use std::c_str::ToCStr;
unsafe {
addr.with_c_str(|s| {
use libc;
gl::wgl::GetProcAddress(s) as *const libc::c_void
})
let addr = addr.to_c_str();
gl::wgl::GetProcAddress(addr.as_ptr()) as *const libc::c_void
}
});
@ -417,7 +419,7 @@ pub fn new_window(builder_dimensions: Option<(uint, uint)>, builder_title: Strin
}
}).detach();
rx.recv()
rx.recv().unwrap()
}
/// Checks that the window is the good one, and if so send the event to it.
@ -435,7 +437,7 @@ fn send_event(input_window: winapi::HWND, event: Event) {
return;
}
sender.send_opt(event).ok(); // ignoring if closed
sender.send(event).ok(); // ignoring if closed
});
}

View file

@ -1,6 +1,7 @@
use std::sync::atomic::AtomicBool;
use std::ptr;
use std::collections::RingBuf;
use std::sync::mpsc::Receiver;
use libc;
use {CreationError, Event};
@ -89,7 +90,7 @@ impl Window {
}
}
#[deriving(Clone)]
#[derive(Clone)]
pub struct WindowProxy;
impl WindowProxy {
@ -222,7 +223,7 @@ impl Window {
/// See the docs in the crate root file.
// TODO: return iterator
pub fn wait_events(&self) -> RingBuf<Event> {
match self.events_receiver.recv_opt() {
match self.events_receiver.recv() {
Ok(ev) => {
// if the received event is `Closed`, setting `is_closed` to true
match ev {

View file

@ -5,7 +5,7 @@ use std::collections::RingBuf;
/// Win32 implementation of the main `MonitorID` object.
pub struct MonitorID {
/// The system name of the monitor.
name: [winapi::WCHAR, ..32],
name: [winapi::WCHAR; 32],
/// Name to give to the user.
readable_name: String,

View file

@ -1241,7 +1241,7 @@ pub struct XSetWindowAttributes {
#[repr(C)]
pub struct XEvent {
pub type_: libc::c_int,
pad: [libc::c_long, ..24],
pad: [libc::c_long; 24],
}
#[repr(C)]
@ -1253,7 +1253,7 @@ pub struct XClientMessageEvent {
pub window: Window,
pub message_type: Atom,
pub format: libc::c_int,
pub l: [libc::c_long, ..5],
pub l: [libc::c_long; 5],
}
#[repr(C)]
@ -1435,7 +1435,7 @@ extern "C" {
res_class: *mut libc::c_char) -> XIM;
// TODO: this is a vararg function
//pub fn XCreateIC(im: XIM, ...) -> XIC;
//pub fn XCreateIC(im: XIM; .) -> XIC;
pub fn XCreateIC(im: XIM, a: *const libc::c_char, b: libc::c_long, c: *const libc::c_char,
d: Window, e: *const ()) -> XIC;
pub fn XDestroyIC(ic: XIC);

View file

@ -57,7 +57,7 @@ impl Drop for XWindow {
}
}
#[deriving(Clone)]
#[derive(Clone)]
pub struct WindowProxy {
x: Arc<XWindow>,
}
@ -302,6 +302,7 @@ impl Window {
// loading the extra GLX functions
let extra_functions = ffi::glx_extra::Glx::load_with(|addr| {
use std::c_str::ToCStr;
addr.with_c_str(|s| {
use libc;
ffi::glx::GetProcAddress(s as *const u8) as *const libc::c_void
@ -355,6 +356,7 @@ impl Window {
}
pub fn set_title(&self, title: &str) {
use std::c_str::ToCStr;
let c_title = title.to_c_str();
unsafe {
ffi::XStoreName(self.x.display, self.x.window, c_title.as_ptr());
@ -494,7 +496,7 @@ impl Window {
let written = unsafe {
use std::str;
let mut buffer: [u8, ..16] = [mem::uninitialized(), ..16];
let mut buffer: [u8; 16] = [mem::uninitialized(); 16];
let raw_ev: *mut ffi::XKeyEvent = event;
let count = ffi::Xutf8LookupString(self.x.ic, mem::transmute(raw_ev),
mem::transmute(buffer.as_mut_ptr()),