aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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.