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}