aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authortomaka <pierre.krieger1708@gmail.com>2015-02-16 10:51:02 +0100
committertomaka <pierre.krieger1708@gmail.com>2015-02-16 10:51:02 +0100
commitcba56a208dd3c726c2cddaea7311ee91b5c75911 (patch)
tree981d7c76a1b4a0b3e887f18f81812cdc38f3873e /src
parent1fde6f40b5d9d9e37bd86b97e16407ff0c3af1af (diff)
parent91c50ed046ae226303caca7c64d96886411492b1 (diff)
downloadglutin-cba56a208dd3c726c2cddaea7311ee91b5c75911.tar.gz
glutin-cba56a208dd3c726c2cddaea7311ee91b5c75911.zip
Merge pull request #276 from tomaka/win32-headless
Extract win32 HeadlessContext to a "headless" module
Diffstat (limited to 'src')
-rw-r--r--src/win32/headless.rs35
-rw-r--r--src/win32/mod.rs36
2 files changed, 37 insertions, 34 deletions
diff --git a/src/win32/headless.rs b/src/win32/headless.rs
new file mode 100644
index 0000000..1da8b02
--- /dev/null
+++ b/src/win32/headless.rs
@@ -0,0 +1,35 @@
+use super::Window;
+use super::init;
+
+use Api;
+use BuilderAttribs;
+use CreationError;
+
+///
+pub struct HeadlessContext(Window);
+
+impl HeadlessContext {
+ /// See the docs in the crate root file.
+ pub fn new(builder: BuilderAttribs) -> Result<HeadlessContext, CreationError> {
+ let (builder, _) = builder.extract_non_static();
+ init::new_window(builder, None).map(|w| HeadlessContext(w))
+ }
+
+ /// See the docs in the crate root file.
+ pub unsafe fn make_current(&self) {
+ self.0.make_current()
+ }
+
+ /// See the docs in the crate root file.
+ pub fn get_proc_address(&self, addr: &str) -> *const () {
+ self.0.get_proc_address(addr)
+ }
+
+ /// See the docs in the crate root file.
+ pub fn get_api(&self) -> Api {
+ Api::OpenGl
+ }
+
+ pub fn set_window_resize_callback(&mut self, _: Option<fn(u32, u32)>) {
+ }
+}
diff --git a/src/win32/mod.rs b/src/win32/mod.rs
index c2fd103..10e03a3 100644
--- a/src/win32/mod.rs
+++ b/src/win32/mod.rs
@@ -8,6 +8,7 @@ use {CreationError, Event, MouseCursor};
use BuilderAttribs;
+pub use self::headless::HeadlessContext;
pub use self::monitor::{MonitorID, get_available_monitors, get_primary_monitor};
use winapi;
@@ -17,43 +18,10 @@ use gdi32;
mod event;
mod gl;
+mod headless;
mod init;
mod monitor;
-///
-pub struct HeadlessContext(Window);
-
-impl HeadlessContext {
- /// See the docs in the crate root file.
- pub fn new(builder: BuilderAttribs) -> Result<HeadlessContext, CreationError> {
- let (builder, _) = builder.extract_non_static();
- init::new_window(builder, None).map(|w| HeadlessContext(w))
- }
-
- /// See the docs in the crate root file.
- pub unsafe fn make_current(&self) {
- self.0.make_current()
- }
-
- /// See the docs in the crate root file.
- pub fn get_proc_address(&self, addr: &str) -> *const () {
- self.0.get_proc_address(addr)
- }
-
- /// See the docs in the crate root file.
- pub fn get_api(&self) -> ::Api {
- ::Api::OpenGl
- }
-
- pub fn set_window_resize_callback(&mut self, _: Option<fn(u32, u32)>) {
- }
-}
-
-#[cfg(feature = "headless")]
-unsafe impl Send for HeadlessContext {}
-#[cfg(feature = "headless")]
-unsafe impl Sync for HeadlessContext {}
-
/// The Win32 implementation of the main `Window` object.
pub struct Window {
/// Main handle for the window.