diff options
author | Pierre Krieger <pierre.krieger1708@gmail.com> | 2014-12-28 15:08:41 +0100 |
---|---|---|
committer | Pierre Krieger <pierre.krieger1708@gmail.com> | 2014-12-31 07:34:26 +0100 |
commit | b9710f05a9d1e7fd10536b604074baf748fb5bd7 (patch) | |
tree | d3f8c282bd302589b1e021064d2182371245ad3c /src/win32 | |
parent | fb42768a14228eba456cc8957820c14c105b1647 (diff) | |
download | glutin-b9710f05a9d1e7fd10536b604074baf748fb5bd7.tar.gz glutin-b9710f05a9d1e7fd10536b604074baf748fb5bd7.zip |
Unify WindowBuilder and HeadlessRendererBuilder for easier implementations
Diffstat (limited to 'src/win32')
-rw-r--r-- | src/win32/mod.rs | 23 |
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) } } |