Introduce a WindowProxy for accessing a subset of functionality

from other threads. This currently provides a way for other threads
to wakeup a blocked event loop on X11. Other platforms have stub
functions that need to be implemented. This is similar to
the functionality of glfwPostEmptyEvent.
This commit is contained in:
Glenn Watson 2014-12-17 14:49:11 +10:00
parent 19d120b8b1
commit 9dc5689eef
8 changed files with 171 additions and 52 deletions

View file

@ -74,6 +74,16 @@ impl Window {
}
}
#[cfg(feature = "window")]
#[deriving(Clone)]
pub struct WindowProxy;
impl WindowProxy {
pub fn wakeup_event_loop(&self) {
// TODO
}
}
extern fn window_should_close(this: id, _: id) -> id {
unsafe {
let mut stored_value = ptr::null_mut();
@ -278,6 +288,10 @@ impl Window {
unimplemented!()
}
pub fn create_window_proxy(&self) -> WindowProxy {
WindowProxy
}
pub fn poll_events(&self) -> Vec<Event> {
let mut events = Vec::new();