| .TH "SDL_ListModes" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" |
| .SH "NAME" |
| SDL_ListModes \- Returns a pointer to an array of available screen dimensions for the given format and video flags |
| .SH "SYNOPSIS" |
| .PP |
| \fB#include "SDL\&.h" |
| .sp |
| \fBSDL_Rect **\fBSDL_ListModes\fP\fR(\fBSDL_PixelFormat *format, Uint32 flags\fR); |
| .SH "DESCRIPTION" |
| .PP |
| Return a pointer to an array of available screen dimensions for the given format and video flags, sorted largest to smallest\&. Returns \fBNULL\fP if there are no dimensions available for a particular format, or \fB-1\fR if any dimension is okay for the given format\&. |
| .PP |
| If \fBformat\fR is \fBNULL\fP, the mode list will be for the format returned by \fISDL_GetVideoInfo()\fR->\fBvfmt\fR\&. The \fBflag\fR parameter is an OR\&'d combination of \fIsurface\fR flags\&. The flags are the same as those used \fI\fBSDL_SetVideoMode\fP\fR and they play a strong role in deciding what modes are valid\&. For instance, if you pass \fBSDL_HWSURFACE\fP as a flag only modes that support hardware video surfaces will be returned\&. |
| .SH "EXAMPLE" |
| .PP |
| .nf |
| \f(CWSDL_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); |
| } |
| \&. |
| \&.\fR |
| .fi |
| .PP |
| .SH "SEE ALSO" |
| .PP |
| \fI\fBSDL_SetVideoMode\fP\fR, \fI\fBSDL_GetVideoInfo\fP\fR, \fI\fBSDL_Rect\fR\fR, \fI\fBSDL_PixelFormat\fR\fR |
| .\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01 |