aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/emscripten/mod.rs
diff options
context:
space:
mode:
authorPierre Krieger <pierre.krieger1708@gmail.com>2016-02-09 15:20:06 +0100
committerPierre Krieger <pierre.krieger1708@gmail.com>2016-02-09 15:20:06 +0100
commit9238a48ffca5be87b27bca9c6bc391930871b823 (patch)
treecfca45fed6902d43703ff70d183572e1a0b787f3 /src/api/emscripten/mod.rs
parent5cce3f9640b9ec3e78619d3e8f41f0e7b316dde0 (diff)
parent75a940d4f1240fff9adeed9b0ff869e9aa0f5814 (diff)
downloadglutin-9238a48ffca5be87b27bca9c6bc391930871b823.tar.gz
glutin-9238a48ffca5be87b27bca9c6bc391930871b823.zip
Merge branch 'master' of http://github.com/tomaka/gl-init-rs
Diffstat (limited to 'src/api/emscripten/mod.rs')
-rw-r--r--src/api/emscripten/mod.rs39
1 files changed, 31 insertions, 8 deletions
diff --git a/src/api/emscripten/mod.rs b/src/api/emscripten/mod.rs
index 61d8c8c..67f57d1 100644
--- a/src/api/emscripten/mod.rs
+++ b/src/api/emscripten/mod.rs
@@ -2,11 +2,17 @@
use std::ffi::CString;
use libc;
-use {Event, BuilderAttribs, CreationError, MouseCursor};
use Api;
-use PixelFormat;
+use Event;
+use CreationError;
use ContextError;
+use CursorState;
+use GlAttributes;
use GlContext;
+use MouseCursor;
+use PixelFormat;
+use PixelFormatRequirements;
+use WindowAttributes;
use std::collections::VecDeque;
@@ -52,6 +58,7 @@ impl WindowProxy {
}
}
+#[derive(Clone)]
pub struct MonitorId;
#[inline]
@@ -73,13 +80,20 @@ impl MonitorId {
}
#[inline]
+ pub fn get_native_identifier(&self) -> ::native_monitor::NativeMonitorId {
+ ::native_monitor::NativeMonitorId::Unavailable
+ }
+
+ #[inline]
pub fn get_dimensions(&self) -> (u32, u32) {
unimplemented!()
}
}
impl Window {
- pub fn new(builder: BuilderAttribs) -> Result<Window, CreationError> {
+ pub fn new(window: &WindowAttributes, pf_reqs: &PixelFormatRequirements,
+ opengl: &GlAttributes<&Window>) -> Result<Window, CreationError>
+ {
// getting the default values of attributes
let mut attributes = unsafe {
use std::mem;
@@ -198,14 +212,23 @@ impl Window {
}
#[inline]
- pub fn set_cursor(&self, _cursor: MouseCursor) {
- unimplemented!()
+ pub fn set_cursor(&self, cursor: MouseCursor) {
+ }
+
+ #[inline]
+ pub fn set_cursor_state(&self, state: CursorState) -> Result<(), String> {
+ Ok(())
}
#[inline]
pub fn hidpi_factor(&self) -> f32 {
1.0
}
+
+ #[inline]
+ pub fn set_cursor_position(&self, x: i32, y: i32) -> Result<(), ()> {
+ Ok(())
+ }
}
impl GlContext for Window {
@@ -222,11 +245,11 @@ impl GlContext for Window {
}
fn get_proc_address(&self, addr: &str) -> *const () {
- let addr = CString::new(addr.as_bytes()).unwrap();
- let addr = addr.as_ptr();
+ let addr = CString::new(addr).unwrap();
unsafe {
- ffi::emscripten_GetProcAddress(addr) as *const _
+ // FIXME: if `as_ptr()` is used, then wrong data is passed to emscripten
+ ffi::emscripten_GetProcAddress(addr.into_raw() as *const _) as *const _
}
}