aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
authorPierre Krieger <pierre.krieger1708@gmail.com>2015-01-14 10:04:28 +0100
committerPierre Krieger <pierre.krieger1708@gmail.com>2015-02-10 12:58:38 +0100
commite9a775c6b1f6487744cd7f3d19b484f859cde0ef (patch)
tree3cf0c0e12ef343a51322ee8fbb60cf4e82107b20 /src/lib.rs
parent9884908240af9c76a1009336b05ba500a620f3bb (diff)
downloadglutin-e9a775c6b1f6487744cd7f3d19b484f859cde0ef.tar.gz
glutin-e9a775c6b1f6487744cd7f3d19b484f859cde0ef.zip
Implement win32 initialization in a cleaner way
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
index da2e83d..85d373a 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -217,6 +217,33 @@ impl BuilderAttribs<'static> {
}
}
+impl<'a> BuilderAttribs<'a> {
+ fn extract_non_static(mut self) -> (BuilderAttribs<'static>, Option<&'a winimpl::Window>) {
+ let sharing = self.sharing.take();
+
+ let new_attribs = BuilderAttribs {
+ headless: self.headless,
+ strict: self.strict,
+ sharing: None,
+ dimensions: self.dimensions,
+ title: self.title,
+ monitor: self.monitor,
+ gl_version: self.gl_version,
+ gl_debug: self.gl_debug,
+ vsync: self.vsync,
+ visible: self.visible,
+ multisampling: self.multisampling,
+ depth_bits: self.depth_bits,
+ stencil_bits: self.stencil_bits,
+ color_bits: self.color_bits,
+ alpha_bits: self.alpha_bits,
+ stereoscopy: self.stereoscopy,
+ };
+
+ (new_attribs, sharing)
+ }
+}
+
#[cfg(feature = "window")]
impl<'a> WindowBuilder<'a> {
/// Initializes a new `WindowBuilder` with default values.