SDL_DisplayID * SDL_GetDisplays(int *count);
int * | count | ディスプレイの数の代入先へのポインタ. NULLも可能 |
(SDL_DisplayID *) 0が終端のディスプレイインスタンスIDの配列を戻す. 失敗のときNULLを戻す. SDL_GetError()を呼んで詳細を知ることができる. 不要になったとき, SDL_free()で解放する必要がある.
この関数を呼べるのはメインスレッドのみである.
SDL 3.2.0以降
// サンプルプログラム
// SDL3でディスプレイの台数をチェックする
#include <SDL3/SDL_log.h>
#include <SDL3/SDL_main.h>
#include <SDL3/SDL_video.h>
int
main(int argc, char** argv)
{
if (!SDL_Init(SDL_INIT_VIDEO)) {
SDL_Log("SDLを初期化できなかった: %s", SDL_GetError());
return 0;
}
int num_displays;
SDL_DisplayID *displays = SDL_GetDisplays(&num_displays);
SDL_Log("%d台のディスプレイを検知した", num_displays);
SDL_free(displays);
return 0;
}