目次 - 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