| 1 | .TH "SDL_ListModes" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" |
| 2 | .SH "NAME" |
| 3 | SDL_ListModes \- Returns a pointer to an array of available screen dimensions for the given format and video flags |
| 4 | .SH "SYNOPSIS" |
| 5 | .PP |
| 6 | \fB#include "SDL\&.h" |
| 7 | .sp |
| 8 | \fBSDL_Rect **\fBSDL_ListModes\fP\fR(\fBSDL_PixelFormat *format, Uint32 flags\fR); |
| 9 | .SH "DESCRIPTION" |
| 10 | .PP |
| 11 | 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\&. |
| 12 | .PP |
| 13 | 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\&. |
| 14 | .SH "EXAMPLE" |
| 15 | .PP |
| 16 | .nf |
| 17 | \f(CWSDL_Rect **modes; |
| 18 | int i; |
| 19 | \&. |
| 20 | \&. |
| 21 | \&. |
| 22 | |
| 23 | /* Get available fullscreen/hardware modes */ |
| 24 | modes=SDL_ListModes(NULL, SDL_FULLSCREEN|SDL_HWSURFACE); |
| 25 | |
| 26 | /* Check is there are any modes available */ |
| 27 | if(modes == (SDL_Rect **)0){ |
| 28 | printf("No modes available! |
| 29 | "); |
| 30 | exit(-1); |
| 31 | } |
| 32 | |
| 33 | /* Check if or resolution is restricted */ |
| 34 | if(modes == (SDL_Rect **)-1){ |
| 35 | printf("All resolutions available\&. |
| 36 | "); |
| 37 | } |
| 38 | else{ |
| 39 | /* Print valid modes */ |
| 40 | printf("Available Modes |
| 41 | "); |
| 42 | for(i=0;modes[i];++i) |
| 43 | printf(" %d x %d |
| 44 | ", modes[i]->w, modes[i]->h); |
| 45 | } |
| 46 | \&. |
| 47 | \&.\fR |
| 48 | .fi |
| 49 | .PP |
| 50 | .SH "SEE ALSO" |
| 51 | .PP |
| 52 | \fI\fBSDL_SetVideoMode\fP\fR, \fI\fBSDL_GetVideoInfo\fP\fR, \fI\fBSDL_Rect\fR\fR, \fI\fBSDL_PixelFormat\fR\fR |
| 53 | .\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01 |