mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-23 22:01:31 +11:00
Update for Rustc
This commit is contained in:
parent
ebe32bb2d8
commit
4c5e430dd3
|
@ -38,9 +38,9 @@ git = "https://github.com/servo/rust-core-graphics"
|
||||||
git = "https://github.com/servo/rust-core-graphics"
|
git = "https://github.com/servo/rust-core-graphics"
|
||||||
|
|
||||||
[target.i686-pc-windows-gnu.dependencies.winapi]
|
[target.i686-pc-windows-gnu.dependencies.winapi]
|
||||||
version = "^0.0.3"
|
version = "*"
|
||||||
features = ["gdi32", "kernel32", "user32"]
|
features = ["gdi32", "kernel32", "user32"]
|
||||||
|
|
||||||
[target.x86_64-pc-windows-gnu.dependencies.winapi]
|
[target.x86_64-pc-windows-gnu.dependencies.winapi]
|
||||||
version = "^0.0.3"
|
version = "*"
|
||||||
features = ["gdi32", "kernel32", "user32"]
|
features = ["gdi32", "kernel32", "user32"]
|
||||||
|
|
|
@ -25,7 +25,7 @@ fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
print!("Please write the number of the monitor to use: ");
|
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");
|
.expect("Plase enter a number");
|
||||||
let monitor = glutin::get_available_monitors().nth(num).expect("Please enter a valid ID");
|
let monitor = glutin::get_available_monitors().nth(num).expect("Please enter a valid ID");
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ impl Context {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_os = "android")]
|
#[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.5, -0.5, 1.0, 0.0, 0.0,
|
||||||
0.0, 0.5, 0.0, 1.0, 0.0,
|
0.0, 0.5, 0.0, 1.0, 0.0,
|
||||||
0.5, -0.5, 0.0, 0.0, 1.0
|
0.5, -0.5, 0.0, 0.0, 1.0
|
||||||
|
|
|
@ -287,7 +287,7 @@ unsafe impl Send for Window {}
|
||||||
unsafe impl Sync for Window {}
|
unsafe impl Sync for Window {}
|
||||||
|
|
||||||
#[cfg(feature = "window")]
|
#[cfg(feature = "window")]
|
||||||
#[deriving(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct WindowProxy;
|
pub struct WindowProxy;
|
||||||
|
|
||||||
impl WindowProxy {
|
impl WindowProxy {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#[deriving(Clone, Show, Copy)]
|
#[derive(Clone, Show, Copy)]
|
||||||
pub enum Event {
|
pub enum Event {
|
||||||
/// The size of the window has changed.
|
/// The size of the window has changed.
|
||||||
Resized(uint, uint),
|
Resized(uint, uint),
|
||||||
|
@ -38,13 +38,13 @@ pub enum Event {
|
||||||
|
|
||||||
pub type ScanCode = u8;
|
pub type ScanCode = u8;
|
||||||
|
|
||||||
#[deriving(Show, Hash, PartialEq, Eq, Clone, Copy)]
|
#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
|
||||||
pub enum ElementState {
|
pub enum ElementState {
|
||||||
Pressed,
|
Pressed,
|
||||||
Released,
|
Released,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[deriving(Show, Hash, PartialEq, Eq, Clone, Copy)]
|
#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
|
||||||
pub enum MouseButton {
|
pub enum MouseButton {
|
||||||
LeftMouseButton,
|
LeftMouseButton,
|
||||||
RightMouseButton,
|
RightMouseButton,
|
||||||
|
@ -52,7 +52,7 @@ pub enum MouseButton {
|
||||||
OtherMouseButton(u8),
|
OtherMouseButton(u8),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[deriving(Show, Hash, PartialEq, Eq, Clone, Copy)]
|
#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
|
||||||
pub enum VirtualKeyCode {
|
pub enum VirtualKeyCode {
|
||||||
/// The '1' key over the letters.
|
/// The '1' key over the letters.
|
||||||
Key1,
|
Key1,
|
||||||
|
|
|
@ -68,7 +68,7 @@ mod events;
|
||||||
pub struct MonitorID(winimpl::MonitorID);
|
pub struct MonitorID(winimpl::MonitorID);
|
||||||
|
|
||||||
/// Error that can happen while creating a window or a headless renderer.
|
/// 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 {
|
pub enum CreationError {
|
||||||
OsError(String),
|
OsError(String),
|
||||||
NotSupported,
|
NotSupported,
|
||||||
|
@ -84,7 +84,7 @@ impl std::error::Error for CreationError {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// All APIs related to OpenGL that you can possibly get while using glutin.
|
/// 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 {
|
pub enum Api {
|
||||||
/// The classical OpenGL. Available on Windows, Linux, OS/X.
|
/// The classical OpenGL. Available on Windows, Linux, OS/X.
|
||||||
OpenGl,
|
OpenGl,
|
||||||
|
@ -575,7 +575,7 @@ impl gl_common::GlFunctionsSource for Window {
|
||||||
/// threads.
|
/// threads.
|
||||||
///
|
///
|
||||||
#[cfg(feature = "window")]
|
#[cfg(feature = "window")]
|
||||||
#[deriving(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct WindowProxy {
|
pub struct WindowProxy {
|
||||||
proxy: winimpl::WindowProxy,
|
proxy: winimpl::WindowProxy,
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,7 +78,7 @@ unsafe impl Send for Window {}
|
||||||
unsafe impl Sync for Window {}
|
unsafe impl Sync for Window {}
|
||||||
|
|
||||||
#[cfg(feature = "window")]
|
#[cfg(feature = "window")]
|
||||||
#[deriving(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct WindowProxy;
|
pub struct WindowProxy;
|
||||||
|
|
||||||
impl WindowProxy {
|
impl WindowProxy {
|
||||||
|
|
|
@ -7,6 +7,7 @@ use CreationError::OsError;
|
||||||
|
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
use std::sync::mpsc::{Sender, Receiver, channel};
|
||||||
|
|
||||||
use libc;
|
use libc;
|
||||||
use super::gl;
|
use super::gl;
|
||||||
|
@ -222,11 +223,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| {
|
||||||
unsafe {
|
|
||||||
addr.with_c_str(|s| {
|
|
||||||
use libc;
|
use libc;
|
||||||
gl::wgl::GetProcAddress(s) as *const libc::c_void
|
use std::c_str::ToCStr;
|
||||||
})
|
|
||||||
|
unsafe {
|
||||||
|
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();
|
}).detach();
|
||||||
|
|
||||||
rx.recv()
|
rx.recv().unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Checks that the window is the good one, and if so send the event to it.
|
/// 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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sender.send_opt(event).ok(); // ignoring if closed
|
sender.send(event).ok(); // ignoring if closed
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
use std::sync::atomic::AtomicBool;
|
use std::sync::atomic::AtomicBool;
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
use std::collections::RingBuf;
|
use std::collections::RingBuf;
|
||||||
|
use std::sync::mpsc::Receiver;
|
||||||
use libc;
|
use libc;
|
||||||
use {CreationError, Event};
|
use {CreationError, Event};
|
||||||
|
|
||||||
|
@ -89,7 +90,7 @@ impl Window {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[deriving(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct WindowProxy;
|
pub struct WindowProxy;
|
||||||
|
|
||||||
impl WindowProxy {
|
impl WindowProxy {
|
||||||
|
@ -222,7 +223,7 @@ impl Window {
|
||||||
/// See the docs in the crate root file.
|
/// See the docs in the crate root file.
|
||||||
// TODO: return iterator
|
// TODO: return iterator
|
||||||
pub fn wait_events(&self) -> RingBuf<Event> {
|
pub fn wait_events(&self) -> RingBuf<Event> {
|
||||||
match self.events_receiver.recv_opt() {
|
match self.events_receiver.recv() {
|
||||||
Ok(ev) => {
|
Ok(ev) => {
|
||||||
// if the received event is `Closed`, setting `is_closed` to true
|
// if the received event is `Closed`, setting `is_closed` to true
|
||||||
match ev {
|
match ev {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::collections::RingBuf;
|
||||||
/// Win32 implementation of the main `MonitorID` object.
|
/// Win32 implementation of the main `MonitorID` object.
|
||||||
pub struct MonitorID {
|
pub struct MonitorID {
|
||||||
/// The system name of the monitor.
|
/// The system name of the monitor.
|
||||||
name: [winapi::WCHAR, ..32],
|
name: [winapi::WCHAR; 32],
|
||||||
|
|
||||||
/// Name to give to the user.
|
/// Name to give to the user.
|
||||||
readable_name: String,
|
readable_name: String,
|
||||||
|
|
|
@ -1241,7 +1241,7 @@ pub struct XSetWindowAttributes {
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
pub struct XEvent {
|
pub struct XEvent {
|
||||||
pub type_: libc::c_int,
|
pub type_: libc::c_int,
|
||||||
pad: [libc::c_long, ..24],
|
pad: [libc::c_long; 24],
|
||||||
}
|
}
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
|
@ -1253,7 +1253,7 @@ pub struct XClientMessageEvent {
|
||||||
pub window: Window,
|
pub window: Window,
|
||||||
pub message_type: Atom,
|
pub message_type: Atom,
|
||||||
pub format: libc::c_int,
|
pub format: libc::c_int,
|
||||||
pub l: [libc::c_long, ..5],
|
pub l: [libc::c_long; 5],
|
||||||
}
|
}
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
|
@ -1435,7 +1435,7 @@ extern "C" {
|
||||||
res_class: *mut libc::c_char) -> XIM;
|
res_class: *mut libc::c_char) -> XIM;
|
||||||
|
|
||||||
// TODO: this is a vararg function
|
// 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,
|
pub fn XCreateIC(im: XIM, a: *const libc::c_char, b: libc::c_long, c: *const libc::c_char,
|
||||||
d: Window, e: *const ()) -> XIC;
|
d: Window, e: *const ()) -> XIC;
|
||||||
pub fn XDestroyIC(ic: XIC);
|
pub fn XDestroyIC(ic: XIC);
|
||||||
|
|
|
@ -57,7 +57,7 @@ impl Drop for XWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[deriving(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct WindowProxy {
|
pub struct WindowProxy {
|
||||||
x: Arc<XWindow>,
|
x: Arc<XWindow>,
|
||||||
}
|
}
|
||||||
|
@ -302,6 +302,7 @@ impl Window {
|
||||||
|
|
||||||
// loading the extra GLX functions
|
// loading the extra GLX functions
|
||||||
let extra_functions = ffi::glx_extra::Glx::load_with(|addr| {
|
let extra_functions = ffi::glx_extra::Glx::load_with(|addr| {
|
||||||
|
use std::c_str::ToCStr;
|
||||||
addr.with_c_str(|s| {
|
addr.with_c_str(|s| {
|
||||||
use libc;
|
use libc;
|
||||||
ffi::glx::GetProcAddress(s as *const u8) as *const libc::c_void
|
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) {
|
pub fn set_title(&self, title: &str) {
|
||||||
|
use std::c_str::ToCStr;
|
||||||
let c_title = title.to_c_str();
|
let c_title = title.to_c_str();
|
||||||
unsafe {
|
unsafe {
|
||||||
ffi::XStoreName(self.x.display, self.x.window, c_title.as_ptr());
|
ffi::XStoreName(self.x.display, self.x.window, c_title.as_ptr());
|
||||||
|
@ -494,7 +496,7 @@ impl Window {
|
||||||
let written = unsafe {
|
let written = unsafe {
|
||||||
use std::str;
|
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 raw_ev: *mut ffi::XKeyEvent = event;
|
||||||
let count = ffi::Xutf8LookupString(self.x.ic, mem::transmute(raw_ev),
|
let count = ffi::Xutf8LookupString(self.x.ic, mem::transmute(raw_ev),
|
||||||
mem::transmute(buffer.as_mut_ptr()),
|
mem::transmute(buffer.as_mut_ptr()),
|
||||||
|
|
Loading…
Reference in a new issue