Manpages - SDL_ListModes.3

Table of Contents

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

Author: dt

Created: 2022-02-21 Mon 15:00