(SDL3バージョンはSDL3/SDL_DisplayModeを参照すること)
| Uint32 | format | SDL_PixelFormatEnumの値の1つ |
| int | w | スクリーン座標系の幅 |
| int | h | スクリーン座標系の高さ |
| int | refresh_rate | 更新周期(Hz), 特定できない場合は0 |
| void* | driverdata | ドライバ固有のデータ. 0で初期化する |
static int display_in_use = 0; /* 最初のディスプレイのみ使用する */
int i, display_mode_count;
SDL_DisplayMode mode;
Uint32 f;
SDL_Log("SDL_GetNumVideoDisplays(): %i", SDL_GetNumVideoDisplays());
display_mode_count = SDL_GetNumDisplayModes(display_in_use);
if (display_mode_count < 1) {
SDL_Log("SDL_GetNumDisplayModes 失敗: %s", SDL_GetError());
return 1;
}
SDL_Log("SDL_GetNumDisplayModes: %i", display_mode_count);
for (i = 0; i < display_mode_count; ++i) {
if (SDL_GetDisplayMode(display_in_use, i, &mode) != 0) {
SDL_Log("SDL_GetDisplayMode 失敗: %s", SDL_GetError());
return 1;
}
f = mode.format;
SDL_Log("モード %i¥tbpp %i¥t%s¥t%i x %i",
i, SDL_BITSPERPIXEL(f),
SDL_GetPixelFormatName(f),
mode.w, mode.h);
}