typedef void (SDLCALL *SDL_MouseMotionTransformCallback)( void *userdata, Uint64 timestamp, SDL_Window *window, SDL_MouseID mouseID, float *x, float *y);
| void * | userdata | SDL_SetRelativeMouseTransform()に渡したuserdata |
| Uint64 | timestamp | マウス移動イベントを受信した時刻 |
| SDL_Window * | window | マウス移動イベントを受信したウィンドウ |
| SDL_MouseID | mouseID | マウス移動イベントを発生されたマウス |
| float * | x | X軸方向の移動量へのポインタ. 変換前の値が書き込まれていて, 変換後の値を書き込む |
| float * | y | Y軸方向の移動量へのポインタ. 変換前の値が書き込まれていて, 変換後の値を書き込む |
このコールバックはSDLがマウス移動イベントで移動量をスケーリングするとき呼ばれる.
このコールバックはSDLの内部マウス入力処理プロシージャから呼ばれる. これはメインイベントスレッドループとは別のリアルタイム優先度のスレッドの可能性がある. そのため, このスレッドの負荷がコールバックの影響で上がりすぎると, システム全体がフリーズする可能性がある. xとy以外の変数を操作する場合は, 同期を適切に行う必要がある.