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

# SDL_VideoInit

ビデオドライバを特定してビデオサブシステムを初期化する

## 構文

`int SDL_VideoInit(const char* driver_name)`

## 引数

driver_name | 初期化するビデオドライバの名前, NULLのときデフォルトのドライバ

## 戻り値

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

## サンプルコード

``

    #include "SDL.h"
    #include <stdio.h> /* printf()のため */
    #include <stdlib.h> /* atexit()のため */

    SDL_bool videoinit = SDL_FALSE;

    void OnQuit(void) {
        if (videoinit) {
            SDL_VideoQuit();
        }
        SDL_Quit();
    }

    int main(int argc, char** argv) {
        if (SDL_Init(0) != 0) {
            printf("SDLの初期化に失敗した:  %s\n", SDL_GetError());
            return 1;
        }
        atexit(OnQuit);

        if (SDL_VideoInit(NULL) != 0) {
            printf("SDLビデオの初期化に失敗した:  %s\n", SDL_GetError());
            return 2;
        }
        videoinit = SDL_TRUE;

        /* ... */

        return 0;
    }

## 詳細

この関数はウィンドウマネージャとの接続を構築してビデオサブシステム等を初期化し, 利用できるディスプレイモードとピクセル形式を決定する. しかし, ウィンドウとグラフィックモードは初期化しない.

もしこの関数を使い, SDL_INIT_VIDEOフラグをSDL_Init()でもSDL_InitSubSystem()でも使わないのであれば, SDL_Quit()を呼ぶ前にSDL_VideoQuit()を呼ぶ必要がある.

この関数は何度呼んでも安全である. SDL_VideoInit()は既にビデオサブシステムが初期化されているときSDL_VideoQuit()を自分自身で呼ぶためである.

SDL_GetNumVideoDrivers()とSDL_GetVideoDriver()は特定のdriver_nameを探すために使える.

## 関連項目(関数)

SDL_GetNumVideoDrivers
SDL_GetVideoDriver
SDL_InitSubSystem
SDL_VideoQuit

## SDL Wikiへのリンク

SDL_VideoInit - SDL Wiki