playdate icon indicating copy to clipboard operation
playdate copied to clipboard

use userdata

Open github-actions[bot] opened this issue 4 months ago • 0 comments

use userdata https://github.com/boozook/playdate/blob/a8785842ba04674c8eba6a52391cb041ccdcfd59/api/sound/src/player/sp/mod.rs#L209

Source of this issue

	// But with cost of memory - one static for each `F`*`Self`, so so much.
	pub fn set_finish_callback_raw(&self, callback: sndCallbackProc) -> Result<(), Error> {
		let f = self.api().set_finish_callback();
		// TODO: use userdata
		Ok(unsafe { f(self.0, callback, core::ptr::null_mut()) })
	}

	/// Equivalent to [setLoopCallback](sys::ffi::playdate_sound_sampleplayer::setLoopCallback)
	#[doc(alias = "sys::ffi::playdate_sound_sampleplayer::setLoopCallback")]
	pub fn set_loop_callback_raw(&self, callback: sndCallbackProc) -> Result<(), Error> {
		let f = self.api().set_loop_callback();
		// TODO: use userdata
		Ok(unsafe { f(self.0, callback, core::ptr::null_mut()) })
	}
}

github-actions[bot] avatar Mar 04 '24 11:03 github-actions[bot]