handle src buffer underflow corner cases
[sdl_omap.git] / docs / man3 / SDL_ListModes.3
CommitLineData
e14743d1 1.TH "SDL_ListModes" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference"
2.SH "NAME"
3SDL_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
11Return 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
13If \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;
18int i;
19\&.
20\&.
21\&.
22
23/* Get available fullscreen/hardware modes */
24modes=SDL_ListModes(NULL, SDL_FULLSCREEN|SDL_HWSURFACE);
25
26/* Check is there are any modes available */
27if(modes == (SDL_Rect **)0){
28 printf("No modes available!
29");
30 exit(-1);
31}
32
33/* Check if or resolution is restricted */
34if(modes == (SDL_Rect **)-1){
35 printf("All resolutions available\&.
36");
37}
38else{
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