aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/cocoa
diff options
context:
space:
mode:
authortomaka <pierre.krieger1708@gmail.com>2016-03-21 10:15:54 +0100
committertomaka <pierre.krieger1708@gmail.com>2016-03-21 10:15:54 +0100
commit9a8ca6ebae831cddb248d34c298dd959dcfbbd29 (patch)
tree2fd75775280b7c968fb11ae6c645cec9a9284526 /src/api/cocoa
parent9643d2625c33d425f2a0bf3381ec5626184ef9e1 (diff)
parentc5268309c39933e13e86bd33a9fe0b7fa8c88b14 (diff)
downloadglutin-9a8ca6ebae831cddb248d34c298dd959dcfbbd29.tar.gz
glutin-9a8ca6ebae831cddb248d34c298dd959dcfbbd29.zip
Merge pull request #745 from SSheldon/objc2
Update objc dependency to 0.2
Diffstat (limited to 'src/api/cocoa')
-rw-r--r--src/api/cocoa/mod.rs19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/api/cocoa/mod.rs b/src/api/cocoa/mod.rs
index bec56d2..e935805 100644
--- a/src/api/cocoa/mod.rs
+++ b/src/api/cocoa/mod.rs
@@ -79,11 +79,12 @@ struct WindowDelegate {
impl WindowDelegate {
/// Get the delegate class, initiailizing it neccessary
fn class() -> *const Class {
+ use std::os::raw::c_void;
use std::sync::{Once, ONCE_INIT};
extern fn window_should_close(this: &Object, _: Sel, _: id) -> BOOL {
unsafe {
- let state: *mut libc::c_void = *this.get_ivar("glutinState");
+ let state: *mut c_void = *this.get_ivar("glutinState");
let state = state as *mut DelegateState;
(*state).pending_events.lock().unwrap().push_back(Closed);
}
@@ -92,7 +93,7 @@ impl WindowDelegate {
extern fn window_did_resize(this: &Object, _: Sel, _: id) {
unsafe {
- let state: *mut libc::c_void = *this.get_ivar("glutinState");
+ let state: *mut c_void = *this.get_ivar("glutinState");
let state = &mut *(state as *mut DelegateState);
let _: () = msg_send![*state.context, update];
@@ -111,7 +112,7 @@ impl WindowDelegate {
// TODO: center the cursor if the window had mouse grab when it
// lost focus
- let state: *mut libc::c_void = *this.get_ivar("glutinState");
+ let state: *mut c_void = *this.get_ivar("glutinState");
let state = state as *mut DelegateState;
(*state).pending_events.lock().unwrap().push_back(Focused(true));
}
@@ -119,7 +120,7 @@ impl WindowDelegate {
extern fn window_did_resign_key(this: &Object, _: Sel, _: id) {
unsafe {
- let state: *mut libc::c_void = *this.get_ivar("glutinState");
+ let state: *mut c_void = *this.get_ivar("glutinState");
let state = state as *mut DelegateState;
(*state).pending_events.lock().unwrap().push_back(Focused(false));
}
@@ -131,7 +132,7 @@ impl WindowDelegate {
INIT.call_once(|| unsafe {
// Create new NSWindowDelegate
let superclass = Class::get("NSObject").unwrap();
- let mut decl = ClassDecl::new(superclass, "GlutinWindowDelegate").unwrap();
+ let mut decl = ClassDecl::new("GlutinWindowDelegate", superclass).unwrap();
// Add callback methods
decl.add_method(sel!(windowShouldClose:),
@@ -145,7 +146,7 @@ impl WindowDelegate {
window_did_resign_key as extern fn(&Object, Sel, id));
// Store internal state as user data
- decl.add_ivar::<*mut libc::c_void>("glutinState");
+ decl.add_ivar::<*mut c_void>("glutinState");
delegate_class = decl.register();
});
@@ -162,7 +163,7 @@ impl WindowDelegate {
unsafe {
let delegate = IdRef::new(msg_send![WindowDelegate::class(), new]);
- (&mut **delegate).set_ivar("glutinState", state_ptr as *mut libc::c_void);
+ (&mut **delegate).set_ivar("glutinState", state_ptr as *mut ::std::os::raw::c_void);
let _: () = msg_send![*state.window, setDelegate:*delegate];
WindowDelegate { state: state, _this: delegate }
@@ -673,8 +674,8 @@ impl Window {
let sel = Sel::register(cursor_name);
let cls = Class::get("NSCursor").unwrap();
unsafe {
- use objc::MessageArguments;
- let cursor: id = ().send(cls as *const _ as id, sel);
+ use objc::Message;
+ let cursor: id = cls.send_message(sel, ()).unwrap();
let _: () = msg_send![cursor, set];
}
}