Skip to main content

libnspire/
callback.rs

1use std::os::raw::c_void;
2
3pub struct CallbackData<'a>(pub &'a mut dyn FnMut(usize));
4
5impl CallbackData<'_> {
6    pub unsafe extern "C" fn callback(size: usize, data: *mut c_void) {
7        let data = &mut *(data as *mut CallbackData);
8        data.0(size);
9    }
10    pub fn as_mut_void(&mut self) -> *mut c_void {
11        self as *mut CallbackData as *mut c_void
12    }
13}