Man Linux: Main Page and Category List

NAME

       SDL_ListModes  -  Returns  a  pointer  to  an array of available screen
       dimensions for the given format and video flags

SYNOPSIS

       #include "SDL.h"

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

DESCRIPTION

       Return a pointer to an array of available  screen  dimensions  for  the
       given  format and video flags, sorted largest to smallest. Returns NULL
       if there are no dimensions available for a particular format, or -1  if
       any dimension is okay for the given format.

       If  format  is  NULL,  the mode list will be for the format returned by
       SDL_GetVideoInfo()->vfmt. The flag parameter is an OR’d combination  of
       surface  flags.  The  flags are the same as those used SDL_SetVideoMode
       and they play a strong role in  deciding  what  modes  are  valid.  For
       instance,  if  you pass SDL_HWSURFACE as a flag only modes that support
       hardware video surfaces will be returned.

EXAMPLE

       SDL_Rect **modes;
       int i;
       .
       .
       .

       /* Get available fullscreen/hardware modes */
       modes=SDL_ListModes(NULL, SDL_FULLSCREEN|SDL_HWSURFACE);

       /* Check is there are any modes available */
       if(modes == (SDL_Rect **)0){
         printf("No modes available!
       ");
         exit(-1);
       }

       /* Check if or resolution is restricted */
       if(modes == (SDL_Rect **)-1){
         printf("All resolutions available.
       ");
       }
       else{
         /* Print valid modes */
         printf("Available Modes
       ");
         for(i=0;modes[i];++i)
           printf("  %d x %d
       ", modes[i]->w, modes[i]->h);
       }
       .
       .

SEE ALSO

       SDL_SetVideoMode, SDL_GetVideoInfo, SDL_Rect, SDL_PixelFormat