Merge pull request #286 from mitchmindtree/master

Updated to latest nightly - RingBuf -> VecDeque, removed unnecessary as_slice_with_nul
This commit is contained in:
tomaka 2015-02-21 18:11:02 +01:00
commit 06eab6f6c0
10 changed files with 30 additions and 30 deletions

View file

@ -9,7 +9,7 @@ use events::ElementState::{Pressed, Released};
use events::Event::{MouseInput, MouseMoved};
use events::MouseButton;
use std::collections::RingBuf;
use std::collections::VecDeque;
use Api;
use BuilderAttribs;
@ -26,8 +26,8 @@ pub struct MonitorID;
mod ffi;
pub fn get_available_monitors() -> RingBuf <MonitorID> {
let mut rb = RingBuf::new();
pub fn get_available_monitors() -> VecDeque <MonitorID> {
let mut rb = VecDeque::new();
rb.push_back(MonitorID);
rb
}
@ -313,7 +313,7 @@ impl Window {
pub fn get_proc_address(&self, addr: &str) -> *const () {
let addr = CString::from_slice(addr.as_bytes());
let addr = addr.as_slice_with_nul().as_ptr();
let addr = addr.as_ptr();
unsafe {
ffi::egl::GetProcAddress(addr) as *const ()
}

View file

@ -24,7 +24,7 @@ use std::cell::Cell;
use std::ffi::{CString, c_str_to_bytes};
use std::mem;
use std::ptr;
use std::collections::RingBuf;
use std::collections::VecDeque;
use std::str::FromStr;
use std::str::from_utf8;
use std::sync::Mutex;
@ -48,7 +48,7 @@ static mut ctrl_pressed: bool = false;
static mut win_pressed: bool = false;
static mut alt_pressed: bool = false;
struct DelegateState<'a> {
struct DelegateState {
is_closed: bool,
context: id,
view: id,
@ -169,7 +169,7 @@ pub struct Window {
is_closed: Cell<bool>,
/// Events that have been retreived with XLib but not dispatched with iterators yet
pending_events: Mutex<RingBuf<Event>>,
pending_events: Mutex<VecDeque<Event>>,
}
#[cfg(feature = "window")]
@ -252,7 +252,7 @@ impl<'a> Iterator for PollEventsIterator<'a> {
(scale_factor * (view_rect.size.height - view_point.y) as f32) as i32)))
},
NSKeyDown => {
let mut events = RingBuf::new();
let mut events = VecDeque::new();
let received_c_str = event.characters().UTF8String();
let received_str = CString::from_slice(c_str_to_bytes(&received_c_str));
for received_char in from_utf8(received_str.as_bytes()).unwrap().chars() {
@ -272,7 +272,7 @@ impl<'a> Iterator for PollEventsIterator<'a> {
Some(KeyboardInput(Released, NSEvent::keyCode(event) as u8, vkey))
},
NSFlagsChanged => {
let mut events = RingBuf::new();
let mut events = VecDeque::new();
let shift_modifier = Window::modifier_event(event, appkit::NSShiftKeyMask, events::VirtualKeyCode::LShift, shift_pressed);
if shift_modifier.is_some() {
shift_pressed = !shift_pressed;
@ -380,7 +380,7 @@ impl Window {
resize: None,
is_closed: Cell::new(false),
pending_events: Mutex::new(RingBuf::new()),
pending_events: Mutex::new(VecDeque::new()),
};
Ok(window)

View file

@ -1,10 +1,10 @@
use core_graphics::display;
use std::collections::RingBuf;
use std::collections::VecDeque;
pub struct MonitorID(u32);
pub fn get_available_monitors() -> RingBuf<MonitorID> {
let mut monitors = RingBuf::new();
pub fn get_available_monitors() -> VecDeque<MonitorID> {
let mut monitors = VecDeque::new();
unsafe {
let max_displays = 10u32;
let mut active_displays = [0u32; 10];
@ -12,7 +12,7 @@ pub fn get_available_monitors() -> RingBuf<MonitorID> {
display::CGGetActiveDisplayList(max_displays,
&mut active_displays[0],
&mut display_count);
for i in range(0us, display_count as usize) {
for i in range(0, display_count as usize) {
monitors.push_back(MonitorID(active_displays[i]));
}
}

View file

@ -171,7 +171,7 @@ fn init(title: Vec<u16>, builder: BuilderAttribs<'static>, builder_sharelists: O
use libc;
let addr = CString::from_slice(addr.as_bytes());
let addr = addr.as_slice_with_nul().as_ptr();
let addr = addr.as_ptr();
unsafe {
gl::wgl::GetProcAddress(addr) as *const libc::c_void

View file

@ -1,7 +1,7 @@
use std::sync::atomic::AtomicBool;
use std::ptr;
use std::ffi::CString;
use std::collections::RingBuf;
use std::collections::VecDeque;
use std::sync::mpsc::Receiver;
use libc;
use {CreationError, Event, MouseCursor};
@ -192,7 +192,7 @@ impl Window {
/// See the docs in the crate root file.
pub fn get_proc_address(&self, addr: &str) -> *const () {
let addr = CString::from_slice(addr.as_bytes());
let addr = addr.as_slice_with_nul().as_ptr();
let addr = addr.as_ptr();
unsafe {
let p = gl::wgl::GetProcAddress(addr) as *const ();

View file

@ -1,7 +1,7 @@
use winapi;
use user32;
use std::collections::RingBuf;
use std::collections::VecDeque;
/// Win32 implementation of the main `MonitorID` object.
pub struct MonitorID {
@ -25,11 +25,11 @@ pub struct MonitorID {
}
/// Win32 implementation of the main `get_available_monitors` function.
pub fn get_available_monitors() -> RingBuf<MonitorID> {
pub fn get_available_monitors() -> VecDeque<MonitorID> {
use std::{iter, mem, ptr};
// return value
let mut result = RingBuf::new();
let mut result = VecDeque::new();
// enumerating the devices is done by querying device 0, then device 1, then device 2, etc.
// until the query function returns null

View file

@ -1,4 +1,4 @@
use std::collections::ring_buf::IntoIter as RingBufIter;
use std::collections::vec_deque::IntoIter as VecDequeIter;
use std::default::Default;
use Api;
@ -452,7 +452,7 @@ impl<'a> Iterator for WaitEventsIterator<'a> {
// Implementation note: we retreive the list once, then serve each element by one by one.
// This may change in the future.
pub struct AvailableMonitorsIter {
data: RingBufIter<winimpl::MonitorID>,
data: VecDequeIter<winimpl::MonitorID>,
}
impl Iterator for AvailableMonitorsIter {

View file

@ -8,7 +8,7 @@ use super::ffi;
fn with_c_str<F, T>(s: &str, f: F) -> T where F: FnOnce(*const libc::c_char) -> T {
use std::ffi::CString;
let c_str = CString::from_slice(s.as_bytes());
f(c_str.as_slice_with_nul().as_ptr())
f(c_str.as_ptr())
}
pub struct HeadlessContext {

View file

@ -5,7 +5,7 @@ use libc;
use std::{mem, ptr};
use std::cell::Cell;
use std::sync::atomic::AtomicBool;
use std::collections::RingBuf;
use std::collections::VecDeque;
use super::ffi;
use std::sync::{Arc, Mutex, Once, ONCE_INIT, Weak};
use std::sync::{StaticMutex, MUTEX_INIT};
@ -39,7 +39,7 @@ fn ensure_thread_init() {
fn with_c_str<F, T>(s: &str, f: F) -> T where F: FnOnce(*const libc::c_char) -> T {
use std::ffi::CString;
let c_str = CString::from_slice(s.as_bytes());
f(c_str.as_slice_with_nul().as_ptr())
f(c_str.as_ptr())
}
struct XWindow {
@ -281,7 +281,7 @@ pub struct Window {
wm_delete_window: ffi::Atom,
current_size: Cell<(libc::c_int, libc::c_int)>,
/// Events that have been retreived with XLib but not dispatched with iterators yet
pending_events: Mutex<RingBuf<Event>>,
pending_events: Mutex<VecDeque<Event>>,
}
impl Window {
@ -600,7 +600,7 @@ impl Window {
is_closed: AtomicBool::new(false),
wm_delete_window: wm_delete_window,
current_size: Cell::new((0, 0)),
pending_events: Mutex::new(RingBuf::new()),
pending_events: Mutex::new(VecDeque::new()),
};
// returning

View file

@ -1,11 +1,11 @@
use std::ptr;
use std::collections::RingBuf;
use std::collections::VecDeque;
use super::super::ffi;
use super::ensure_thread_init;
pub struct MonitorID(pub u32);
pub fn get_available_monitors() -> RingBuf<MonitorID> {
pub fn get_available_monitors() -> VecDeque<MonitorID> {
ensure_thread_init();
let nb_monitors = unsafe {
let display = ffi::XOpenDisplay(ptr::null());
@ -17,7 +17,7 @@ pub fn get_available_monitors() -> RingBuf<MonitorID> {
nb_monitors
};
let mut monitors = RingBuf::new();
let mut monitors = VecDeque::new();
monitors.extend(range(0, nb_monitors).map(|i| MonitorID(i as u32)));
monitors
}