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

# SDL_GetCurrentDisplayMode

現在のディスプレイモードを得る

## 構文

`int SDL_GetCurrentDisplayMode(int displayIndex, SDL_DisplayMode* mode)`

## 引数

displayIndex | 調査するディスプレイの番号
mode | 現在のディスプレイモードを代入するSDL_DisplayModeのポインタ

## 戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. SDL_GetError()を呼んで詳細を知ることができる.

## サンプルコード

``

    // SDL2のSDL_GetCurrentDisplayMode()を使う

    #include "SDL.h"

    int main(int argc, char* argv[])
    {
      int i;

      // 代入されるディスプレイモード構造体を宣言する
      SDL_DisplayMode current;

      SDL_Init(SDL_INIT_VIDEO);

      // 全てのディスプレイの現在のディスプレイモードを得る
      for(i = 0; i < SDL_GetNumVideoDisplays(); ++i){

        int should_be_zero = SDL_GetCurrentDisplayMode(i, &current);

        if(should_be_zero != 0)
          // エラー発生...
          printf("ビデオディスプレイ #%d のディスプレイモードを得られなかった: %s", i, SDL_GetError());

        else
          // 成功, 現在のディスプレイモードを表示する
          printf("ディスプレイ #%d: 現在のディスプレイモードは %dx%dpx @ %dhz\n", i, current.w, current.h, current.refresh_rate);

      }

      // 終了処理してプログラムを終了する
      SDL_Quit();
      return 0;

    }

## 詳細

この関数とSDL_GetDesktopDisplayMode()は, SDLがフルスクリーンで, かつ解像度を変えたとき異なる. その場合, この関数は現在のディスプレイモードを戻すが, SDL_GetDesktopDisplayMode()は変更前のディスプレイモードを戻す.

## 関連項目(関数)

SDL_GetDesktopDisplayMode
SDL_GetDisplayMode
SDL_GetNumVideoDisplays
SDL_SetWindowDisplayMode

## SDL Wikiへのリンク

SDL_GetCurrentDisplayMode - SDL Wiki