aboutsummaryrefslogtreecommitdiffstats
path: root/src/win32
diff options
context:
space:
mode:
authorPierre Krieger <pierre.krieger1708@gmail.com>2014-12-28 15:08:41 +0100
committerPierre Krieger <pierre.krieger1708@gmail.com>2014-12-31 07:34:26 +0100
commitb9710f05a9d1e7fd10536b604074baf748fb5bd7 (patch)
treed3f8c282bd302589b1e021064d2182371245ad3c /src/win32
parentfb42768a14228eba456cc8957820c14c105b1647 (diff)
downloadglutin-b9710f05a9d1e7fd10536b604074baf748fb5bd7.tar.gz
glutin-b9710f05a9d1e7fd10536b604074baf748fb5bd7.zip
Unify WindowBuilder and HeadlessRendererBuilder for easier implementations
Diffstat (limited to 'src/win32')
-rw-r--r--src/win32/mod.rs23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/win32/mod.rs b/src/win32/mod.rs
index a5f0547..e90f93f 100644
--- a/src/win32/mod.rs
+++ b/src/win32/mod.rs
@@ -3,11 +3,7 @@ use std::ptr;
use libc;
use {CreationError, Event};
-#[cfg(feature = "window")]
-use WindowBuilder;
-
-#[cfg(feature = "headless")]
-use HeadlessRendererBuilder;
+use BuilderAttribs;
pub use self::monitor::{MonitorID, get_available_monitors, get_primary_monitor};
@@ -19,15 +15,13 @@ mod init;
mod monitor;
///
-#[cfg(feature = "headless")]
pub struct HeadlessContext(Window);
-#[cfg(feature = "headless")]
impl HeadlessContext {
/// See the docs in the crate root file.
- pub fn new(builder: HeadlessRendererBuilder) -> Result<HeadlessContext, CreationError> {
- let HeadlessRendererBuilder { dimensions, gl_version, gl_debug } = builder;
- init::new_window(Some(dimensions), "".to_string(), None, gl_version, gl_debug, false, true,
+ pub fn new(builder: BuilderAttribs) -> Result<HeadlessContext, CreationError> {
+ let BuilderAttribs { dimensions, gl_version, gl_debug, .. } = builder;
+ init::new_window(dimensions, "".to_string(), None, gl_version, gl_debug, false, true,
None, None)
.map(|w| HeadlessContext(w))
}
@@ -83,14 +77,13 @@ pub struct Window {
unsafe impl Send for Window {}
unsafe impl Sync for Window {}
-#[cfg(feature = "window")]
impl Window {
/// See the docs in the crate root file.
- pub fn new(builder: WindowBuilder) -> Result<Window, CreationError> {
- let WindowBuilder { dimensions, title, monitor, gl_version,
- gl_debug, vsync, visible, sharing, multisampling } = builder;
+ pub fn new(builder: BuilderAttribs) -> Result<Window, CreationError> {
+ let BuilderAttribs { dimensions, title, monitor, gl_version,
+ gl_debug, vsync, visible, sharing, multisampling, .. } = builder;
init::new_window(dimensions, title, monitor, gl_version, gl_debug, vsync,
- !visible, sharing.map(|w| init::ContextHack(w.window.context)),
+ !visible, sharing.map(|w| init::ContextHack(w.context)),
multisampling)
}
}