aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs8
-rw-r--r--src/win32/mod.rs4
-rw-r--r--src/x11/mod.rs4
3 files changed, 13 insertions, 3 deletions
diff --git a/src/lib.rs b/src/lib.rs
index f8725b5..061f85a 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -23,7 +23,8 @@ mod x11;
mod events;
mod hints;
-pub struct MonitorID(uint);
+/// Identifier for a monitor.
+pub struct MonitorID(winimpl::MonitorID);
/// Represents an OpenGL context and the Window or environment around it.
///
@@ -85,7 +86,12 @@ impl Window {
hints: &Hints, monitor: Option<MonitorID>)
-> Result<Window, String>
{
+ // extracting the monitor ID
+ let monitor = monitor.map(|id| { let MonitorID(id) = id; id });
+
+ // creating the window
let win = try!(winimpl::Window::new(dimensions, title, hints, monitor));
+
Ok(Window{
window: win,
nosend: std::kinds::marker::NoSend,
diff --git a/src/win32/mod.rs b/src/win32/mod.rs
index 65374b7..a5df94c 100644
--- a/src/win32/mod.rs
+++ b/src/win32/mod.rs
@@ -2,7 +2,7 @@ use std::kinds::marker::NoSend;
use std::sync::Mutex;
use std::sync::atomics::AtomicBool;
use std::ptr;
-use {Event, Hints, MonitorID};
+use {Event, Hints};
mod event;
mod ffi;
@@ -17,6 +17,8 @@ pub struct Window {
nosend: NoSend,
}
+pub struct MonitorID(uint);
+
/// Stores the list of all the windows.
/// Only available on callback thread.
local_data_key!(pub WINDOWS_LIST: Mutex<Vec<(ffi::HWND, Sender<Event>)>>)
diff --git a/src/x11/mod.rs b/src/x11/mod.rs
index cc70a01..e00dc50 100644
--- a/src/x11/mod.rs
+++ b/src/x11/mod.rs
@@ -1,4 +1,4 @@
-use {Event, Hints, MonitorID};
+use {Event, Hints};
use libc;
use std::{mem, ptr};
use std::sync::atomics::AtomicBool;
@@ -14,6 +14,8 @@ pub struct Window {
wm_delete_window: ffi::Atom,
}
+pub struct MonitorID(uint);
+
impl Window {
pub fn new(dimensions: Option<(uint, uint)>, title: &str, hints: &Hints, _: Option<MonitorID>)
-> Result<Window, String>