void SDL_SetAssertionHandler(SDL_AssertionHandler handler, void* userdata)
handler | アサーションが失敗したとき呼ばれる関数. NULLのときデフォルトのハンドラ (詳細を参照すること) |
userdata | handlerに渡されるポインタ |
この関数で, アサーションに失敗したとき, 独自のUIと応答を設定できる. アプリケーションが設定しないとき, SDLはフルスクリーンの場合は最小化してそれぞれのシステムのGUIのダイアログを表示する.
handlerの関数プロトタイプは
SDL_AssertState YourAssertionHandler(const SDL_assert_data* data, void* userdata)
YourAssertionHandlerは任意の関数名で, 引数は
data | 現在のアサーションを報告するSDL_assert_dataへのポインタ |
userdata | SDL_SetAssertionHandler()に渡されたuserdata |
このコールバック関数は, あらゆるスレッドから呼ばれる. しかし, 排他制御されていて, 一度に1つのスレッドからしか呼ばれない.
このコールバック関数は, SDL_Quit()ではSDL内部の関数には戻らない!