目次 - API(機能別) - アサーション - SDL_SetAssertionHandler

SDL_SetAssertionHandler

アプリケーション定義のアサーションハンドラを設定する

構文

void SDL_SetAssertionHandler(SDL_AssertionHandler handler, void* userdata)

引数

handlerアサーションが失敗したとき呼ばれる関数. NULLのときデフォルトのハンドラ (詳細を参照すること)
userdatahandlerに渡されるポインタ

詳細

この関数で, アサーションに失敗したとき, 独自のUIと応答を設定できる. アプリケーションが設定しないとき, SDLはフルスクリーンの場合は最小化してそれぞれのシステムのGUIのダイアログを表示する.

handlerの関数プロトタイプは

SDL_AssertState YourAssertionHandler(const SDL_assert_data* data, void* userdata)

YourAssertionHandlerは任意の関数名で, 引数は
data現在のアサーションを報告するSDL_assert_dataへのポインタ
userdataSDL_SetAssertionHandler()に渡されたuserdata
このコールバック関数は, このアサーションの失敗をどのように扱うかを示すSDL_AssertStateを戻す必要がある.

このコールバック関数は, あらゆるスレッドから呼ばれる. しかし, 排他制御されていて, 一度に1つのスレッドからしか呼ばれない.

このコールバック関数は, SDL_Quit()ではSDL内部の関数には戻らない!

関連項目(関数)

SDL_GetAssertionHandler

SDL Wikiへのリンク

SDL_SetAssertionHandler - SDL Wiki