目次 - SDL 3.0 API(機能別) - ディスプレイとウィンドウ - SDL_GetDisplays

SDL_GetDisplays

現在接続中のディスプレイの一覧を得る

ヘッダ

SDL3/SDL_video.h

構文

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;
}

SDL Wikiへのリンク

SDL_GetDisplays - SDL Wiki