Draft for monitor API

This commit is contained in:
Tomaka17 2014-07-27 20:38:27 +02:00
parent 6133e17b9a
commit d824fb94db
5 changed files with 12 additions and 8 deletions

View file

@ -12,7 +12,7 @@ extern crate gl;
fn main() { fn main() {
use std::default::Default; use std::default::Default;
let window = init::Window::new(None, "Hello world!", &Default::default()).unwrap(); let window = init::Window::new(None, "Hello world!", &Default::default(), None).unwrap();
window.make_current(); window.make_current();

View file

@ -5,7 +5,7 @@ extern crate gl;
fn main() { fn main() {
use std::default::Default; use std::default::Default;
let window = init::Window::new(None, "Hello world!", &Default::default()).unwrap(); let window = init::Window::new(None, "Hello world!", &Default::default(), None).unwrap();
window.make_current(); window.make_current();

View file

@ -19,6 +19,8 @@ mod x11;
mod events; mod events;
mod hints; mod hints;
pub struct MonitorID(uint);
pub struct Window { pub struct Window {
window: winimpl::Window, window: winimpl::Window,
nosend: std::kinds::marker::NoSend, nosend: std::kinds::marker::NoSend,
@ -26,10 +28,11 @@ pub struct Window {
impl Window { impl Window {
#[inline] #[inline]
pub fn new(dimensions: Option<(uint, uint)>, title: &str, hints: &Hints) pub fn new(dimensions: Option<(uint, uint)>, title: &str,
hints: &Hints, monitor: Option<MonitorID>)
-> Result<Window, String> -> Result<Window, String>
{ {
let win = try!(winimpl::Window::new(dimensions, title, hints)); let win = try!(winimpl::Window::new(dimensions, title, hints, monitor));
Ok(Window{ Ok(Window{
window: win, window: win,
nosend: std::kinds::marker::NoSend, nosend: std::kinds::marker::NoSend,

View file

@ -2,7 +2,7 @@ use std::kinds::marker::NoSend;
use std::sync::Mutex; use std::sync::Mutex;
use std::sync::atomics::AtomicBool; use std::sync::atomics::AtomicBool;
use std::ptr; use std::ptr;
use {Event, Hints}; use {Event, Hints, MonitorID};
mod event; mod event;
mod ffi; mod ffi;
@ -22,7 +22,8 @@ pub struct Window {
local_data_key!(pub WINDOWS_LIST: Mutex<Vec<(ffi::HWND, Sender<Event>)>>) local_data_key!(pub WINDOWS_LIST: Mutex<Vec<(ffi::HWND, Sender<Event>)>>)
impl Window { impl Window {
pub fn new(dimensions: Option<(uint, uint)>, title: &str, _hints: &Hints) pub fn new(dimensions: Option<(uint, uint)>, title: &str,
_hints: &Hints, _monitor: Option<MonitorID>)
-> Result<Window, String> -> Result<Window, String>
{ {
use std::mem; use std::mem;

View file

@ -1,4 +1,4 @@
use {Event, Hints}; use {Event, Hints, MonitorID};
use libc; use libc;
use std::{mem, ptr}; use std::{mem, ptr};
use std::sync::atomics::AtomicBool; use std::sync::atomics::AtomicBool;
@ -14,7 +14,7 @@ pub struct Window {
} }
impl Window { impl Window {
pub fn new(dimensions: Option<(uint, uint)>, title: &str, hints: &Hints) pub fn new(dimensions: Option<(uint, uint)>, title: &str, hints: &Hints, _: Option<MonitorID>)
-> Result<Window, String> -> Result<Window, String>
{ {
// calling XOpenDisplay // calling XOpenDisplay