pub type SDL_MouseMotionTransformCallback = Option<unsafe extern "C" fn(userdata: *mut c_void, timestamp: Uint64, window: *mut SDL_Window, mouseID: SDL_MouseID, x: *mut c_float, y: *mut c_float)>;Expand description
A callback used to transform mouse motion delta from raw values.
This is called during SDL’s handling of platform mouse events to scale the values of the resulting motion delta.
§Parameters
userdata: what was passed asuserdatatoSDL_SetRelativeMouseTransform().timestamp: the associated time at which this mouse motion event was received.window: the associated window to which this mouse motion event was addressed.mouseID: the associated mouse from which this mouse motion event was emitted.x: pointer to a variable that will be treated as the resulting x-axis motion.y: pointer to a variable that will be treated as the resulting y-axis motion.
§Thread safety
This callback is called by SDL’s internal mouse input processing procedure, which may be a thread separate from the main event loop that is run at realtime priority. Stalling this thread with too much work in the callback can therefore potentially freeze the entire system. Care should be taken with proper synchronization practices when adding other side effects beyond mutation of the x and y values.
§Availability
This datatype is available since SDL 3.4.0.
§See also
Aliased Type§
pub enum SDL_MouseMotionTransformCallback {
None,
Some(unsafe extern "C" fn(*mut c_void, u64, *mut SDL_Window, SDL_MouseID, *mut f32, *mut f32)),
}