aboutsummaryrefslogtreecommitdiffstats
path: root/src/x11
diff options
context:
space:
mode:
authortomaka <pierre.krieger1708@gmail.com>2014-12-31 07:49:44 +0100
committertomaka <pierre.krieger1708@gmail.com>2014-12-31 07:49:44 +0100
commit4d5e39f436a1c68475f2dd97b33acf66117ee139 (patch)
tree83dfb936f2577b136536d713414a0fc6355c3442 /src/x11
parentfb42768a14228eba456cc8957820c14c105b1647 (diff)
parentc956559a5158e1d92ccc5acd7c89b025c68de758 (diff)
downloadglutin-4d5e39f436a1c68475f2dd97b33acf66117ee139.tar.gz
glutin-4d5e39f436a1c68475f2dd97b33acf66117ee139.zip
Merge pull request #173 from tomaka/change-builder-attribs
Finalize window building API
Diffstat (limited to 'src/x11')
-rw-r--r--src/x11/headless.rs12
-rw-r--r--src/x11/mod.rs5
-rw-r--r--src/x11/window/mod.rs6
3 files changed, 15 insertions, 8 deletions
diff --git a/src/x11/headless.rs b/src/x11/headless.rs
index d6f1023..22d0654 100644
--- a/src/x11/headless.rs
+++ b/src/x11/headless.rs
@@ -1,4 +1,4 @@
-use HeadlessRendererBuilder;
+use BuilderAttribs;
use CreationError;
use CreationError::OsError;
use libc;
@@ -13,11 +13,13 @@ pub struct HeadlessContext {
}
impl HeadlessContext {
- pub fn new(builder: HeadlessRendererBuilder) -> Result<HeadlessContext, CreationError> {
+ pub fn new(builder: BuilderAttribs) -> Result<HeadlessContext, CreationError> {
+ let dimensions = builder.dimensions.unwrap();
+
Ok(HeadlessContext {
- width: builder.dimensions.0,
- height: builder.dimensions.1,
- buffer: Vec::from_elem(builder.dimensions.0 * builder.dimensions.1, unsafe { mem::uninitialized() }),
+ width: dimensions.0,
+ height: dimensions.1,
+ buffer: Vec::from_elem(dimensions.0 * dimensions.1, unsafe { mem::uninitialized() }),
context: unsafe {
let ctxt = ffi::OSMesaCreateContext(0x1908, ptr::null());
if ctxt.is_null() {
diff --git a/src/x11/mod.rs b/src/x11/mod.rs
index 9ce789f..22184a9 100644
--- a/src/x11/mod.rs
+++ b/src/x11/mod.rs
@@ -11,3 +11,8 @@ mod headless;
#[cfg(feature = "window")]
mod window;
+
+#[cfg(not(feature = "window"))]
+pub type Window = (); // TODO: hack to make things work
+#[cfg(not(feature = "window"))]
+pub type MonitorID = (); // TODO: hack to make things work
diff --git a/src/x11/window/mod.rs b/src/x11/window/mod.rs
index 0a8c3d5..fc622ea 100644
--- a/src/x11/window/mod.rs
+++ b/src/x11/window/mod.rs
@@ -1,4 +1,4 @@
-use {Event, WindowBuilder};
+use {Event, BuilderAttribs};
use CreationError;
use CreationError::OsError;
use libc;
@@ -89,7 +89,7 @@ pub struct Window {
}
impl Window {
- pub fn new(builder: WindowBuilder) -> Result<Window, CreationError> {
+ pub fn new(builder: BuilderAttribs) -> Result<Window, CreationError> {
ensure_thread_init();
let dimensions = builder.dimensions.unwrap_or((800, 600));
@@ -308,7 +308,7 @@ impl Window {
});
let share = if let Some(win) = builder.sharing {
- win.window.x.context
+ win.x.context
} else {
ptr::null()
};