SDL_ListModes

Name

SDL_ListModes --  与えられたフォーマットとビデオのフラグに対し、 利用可能な画面モードの配列へのポインタを返します。

Synopsis

#include "SDL.h"

SDL_Rect **SDL_ListModes(SDL_PixelFormat *format, Uint32 flags);

Description

与えられたフォーマットとビデオのフラグに対し、 利用可能な画面モードの配列へのポインタを返します。 大きい方から小さい方にソートされています。 ある特定のフォーマットに対し利用可能なモードがない場合は NULL を返し、 与えられたフォーマットに対しどのモードでも OK の場合は -1 を返します。

formatNULL の場合は、 モードリストは SDL_GetVideoInfo()->vfmt から返値として得られるフォーマットになるでしょう。 flag パラメータは サーフェス のフラグの OR による組み合わせです。 フラグは SDL_SetVideoMode で使われるものと同じであり、モードが有効かどうかを決定する際に 強い役割を果たします。 例えば、SDL_HWSURFACE をフラグとして渡すと、 ハードウェアのビデオサーフェスがサポートするモードだけが返されます。

Example


SDL_Rect **modes;
int i;
.
.
.

/* 利用可能なフルスクリーンハードウェアモードを取得する */
modes=SDL_ListModes(NULL, SDL_FULLSCREEN|SDL_HWSURFACE);

/* 利用可能なモードがあるかどうかチェック */
if(modes == (SDL_Rect **)0){
  printf("利用可能なモードがありません!\n");
  exit(-1);
}

/* 解像度が制限されているかどうかチェック */
if(modes == (SDL_Rect **)-1){
  printf("全解像度が利用可能です。\n");
}
else{
  /* 有効なモードを表示 */
  printf("利用可能なモード\n");
  for(i=0;modes[i];++i)
    printf("  %d x %d\n", modes[i]->w, modes[i]->h);
}
.
.

See Also

SDL_SetVideoMode, SDL_GetVideoInfo, SDL_Rect, SDL_PixelFormat