int SDL_VideoInit(const char* driver_name)
driver_name | 初期化するビデオドライバの名前, NULLのときデフォルトのドライバ |
#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を探すために使える.