aboutsummaryrefslogtreecommitdiffstats
path: root/src/osx/mod.rs
diff options
context:
space:
mode:
authortomaka <pierre.krieger1708@gmail.com>2014-11-27 10:48:53 +0100
committertomaka <pierre.krieger1708@gmail.com>2014-11-27 10:48:53 +0100
commit596132dc9300f43385e5bb8c3f24df49cfe8529d (patch)
treea84fb54c180d3fe7c481f344674bf655058e7996 /src/osx/mod.rs
parentdee448628a7f43ebfc6009c89c938b741d5d6540 (diff)
parentf865d9ac0155e3d2e07b2917e0656e16c14653a8 (diff)
downloadglutin-596132dc9300f43385e5bb8c3f24df49cfe8529d.tar.gz
glutin-596132dc9300f43385e5bb8c3f24df49cfe8529d.zip
Merge pull request #138 from DavidPartouche/cocoa_offscreen
Added headless rendering on osx
Diffstat (limited to 'src/osx/mod.rs')
-rw-r--r--src/osx/mod.rs25
1 files changed, 6 insertions, 19 deletions
diff --git a/src/osx/mod.rs b/src/osx/mod.rs
index 8ab3efd..0cb4553 100644
--- a/src/osx/mod.rs
+++ b/src/osx/mod.rs
@@ -1,3 +1,6 @@
+#[cfg(feature = "headless")]
+pub use self::headless::HeadlessContext;
+
use {CreationError, Event};
use CreationError::OsError;
use libc;
@@ -5,9 +8,6 @@ use libc;
#[cfg(feature = "window")]
use WindowBuilder;
-#[cfg(feature = "headless")]
-use HeadlessRendererBuilder;
-
use cocoa::base::{id, NSUInteger, nil, objc_allocateClassPair, class, objc_registerClassPair};
use cocoa::base::{selector, msg_send, class_addMethod, class_addIvar};
use cocoa::base::{object_setInstanceVariable, object_getInstanceVariable};
@@ -33,6 +33,9 @@ pub use self::monitor::{MonitorID, get_available_monitors, get_primary_monitor};
mod monitor;
mod event;
+#[cfg(feature = "headless")]
+mod headless;
+
static mut shift_pressed: bool = false;
static mut ctrl_pressed: bool = false;
static mut win_pressed: bool = false;
@@ -60,14 +63,6 @@ pub struct Window {
state: Box<InternalState>,
}
-pub struct HeadlessContext(Window);
-
-impl Deref<Window> for HeadlessContext {
- fn deref(&self) -> &Window {
- &self.0
- }
-}
-
#[cfg(feature = "window")]
impl Window {
pub fn new(builder: WindowBuilder) -> Result<Window, CreationError> {
@@ -79,14 +74,6 @@ impl Window {
}
}
-#[cfg(feature = "headless")]
-impl HeadlessContext {
- pub fn new(builder: HeadlessRendererBuilder) -> Result<HeadlessContext, CreationError> {
- Window::new_impl(Some(builder.dimensions), "", None, false)
- .map(|w| HeadlessContext(w))
- }
-}
-
extern fn window_should_close(this: id, _: id) -> id {
unsafe {
let mut stored_value = ptr::null_mut();