void SDL_AddHintCallback(const char* name, SDL_HintCallback callback, void* userdata)
name | 監視するヒント |
callback | ヒントの値が変わったとき呼ぶSDL_HintCallback関数 |
userdata | コールバック関数に渡すポインタ |
// ヒントの値が新たに"1"になったときメッセージを表示するコールバック関数
void callback(void* f_name, const char* name, const char* oldValue, const char* newValue) {
if (newValue == (const char*)"1") {
printf("やあ %s\n", (const char *)f_name);
}
}
/* ... */
SDL_SetHint(SDL_HINT_XINPUT_ENABLED, "0");
/* ... */
SDL_Init(SDL_INIT_EVERYTHING);
/* ... */
SDL_Event event;
while(SDL_PollEvent(&event) != 0)
{
// ここでヒントを変更する
}
/* ... */
SDL_AddHintCallback(SDL_HINT_XINPUT_ENABLED, callback, "SDL");