1<HTML 2><HEAD 3><TITLE 4>SDL_ListModes</TITLE 5><META 6NAME="GENERATOR" 7CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ 8"><LINK 9REL="HOME" 10TITLE="SDL Library Documentation" 11HREF="index.html"><LINK 12REL="UP" 13TITLE="Video" 14HREF="video.html"><LINK 15REL="PREVIOUS" 16TITLE="SDL_VideoDriverName" 17HREF="sdlvideodrivername.html"><LINK 18REL="NEXT" 19TITLE="SDL_VideoModeOK" 20HREF="sdlvideomodeok.html"></HEAD 21><BODY 22CLASS="REFENTRY" 23BGCOLOR="#FFF8DC" 24TEXT="#000000" 25LINK="#0000ee" 26VLINK="#551a8b" 27ALINK="#ff0000" 28><DIV 29CLASS="NAVHEADER" 30><TABLE 31SUMMARY="Header navigation table" 32WIDTH="100%" 33BORDER="0" 34CELLPADDING="0" 35CELLSPACING="0" 36><TR 37><TH 38COLSPAN="3" 39ALIGN="center" 40>SDL Library Documentation</TH 41></TR 42><TR 43><TD 44WIDTH="10%" 45ALIGN="left" 46VALIGN="bottom" 47><A 48HREF="sdlvideodrivername.html" 49ACCESSKEY="P" 50>Prev</A 51></TD 52><TD 53WIDTH="80%" 54ALIGN="center" 55VALIGN="bottom" 56></TD 57><TD 58WIDTH="10%" 59ALIGN="right" 60VALIGN="bottom" 61><A 62HREF="sdlvideomodeok.html" 63ACCESSKEY="N" 64>Next</A 65></TD 66></TR 67></TABLE 68><HR 69ALIGN="LEFT" 70WIDTH="100%"></DIV 71><H1 72><A 73NAME="SDLLISTMODES" 74></A 75>SDL_ListModes</H1 76><DIV 77CLASS="REFNAMEDIV" 78><A 79NAME="AEN1159" 80></A 81><H2 82>Name</H2 83>SDL_ListModes -- Returns a pointer to an array of available screen dimensions for 84the given format and video flags</DIV 85><DIV 86CLASS="REFSYNOPSISDIV" 87><A 88NAME="AEN1162" 89></A 90><H2 91>Synopsis</H2 92><DIV 93CLASS="FUNCSYNOPSIS" 94><A 95NAME="AEN1163" 96></A 97><P 98></P 99><PRE 100CLASS="FUNCSYNOPSISINFO" 101>#include "SDL.h"</PRE 102><P 103><CODE 104><CODE 105CLASS="FUNCDEF" 106>SDL_Rect **<B 107CLASS="FSFUNC" 108>SDL_ListModes</B 109></CODE 110>(SDL_PixelFormat *format, Uint32 flags);</CODE 111></P 112><P 113></P 114></DIV 115></DIV 116><DIV 117CLASS="REFSECT1" 118><A 119NAME="AEN1169" 120></A 121><H2 122>Description</H2 123><P 124>Return a pointer to an array of available screen dimensions for the given 125format and video flags, sorted largest to smallest. Returns 126<TT 127CLASS="LITERAL" 128>NULL</TT 129> if there are no dimensions available for a particular 130format, or <SPAN 131CLASS="RETURNVALUE" 132>-1</SPAN 133> if any dimension is okay for 134the given format.</P 135><P 136>If <TT 137CLASS="PARAMETER" 138><I 139>format</I 140></TT 141> is <TT 142CLASS="LITERAL" 143>NULL</TT 144>, the mode list 145will be for the format returned by <A 146HREF="sdlgetvideoinfo.html" 147>SDL_GetVideoInfo()</A 148>-><TT 149CLASS="STRUCTFIELD" 150><I 151>vfmt</I 152></TT 153>. The <TT 154CLASS="PARAMETER" 155><I 156>flag</I 157></TT 158> parameter is an OR'd combination of <A 159HREF="sdlsurface.html" 160>surface</A 161> flags. The flags are the same as those used <A 162HREF="sdlsetvideomode.html" 163><TT 164CLASS="FUNCTION" 165>SDL_SetVideoMode</TT 166></A 167> and they play a strong role in deciding what modes are valid. For instance, if you pass <TT 168CLASS="LITERAL" 169>SDL_HWSURFACE</TT 170> as a flag only modes that support hardware video surfaces will be returned.</P 171></DIV 172><DIV 173CLASS="REFSECT1" 174><A 175NAME="AEN1184" 176></A 177><H2 178>Example</H2 179><PRE 180CLASS="PROGRAMLISTING" 181>SDL_Rect **modes; 182int i; 183. 184. 185. 186 187/* Get available fullscreen/hardware modes */ 188modes=SDL_ListModes(NULL, SDL_FULLSCREEN|SDL_HWSURFACE); 189 190/* Check is there are any modes available */ 191if(modes == (SDL_Rect **)0){ 192 printf("No modes available!\n"); 193 exit(-1); 194} 195 196/* Check if our resolution is restricted */ 197if(modes == (SDL_Rect **)-1){ 198 printf("All resolutions available.\n"); 199} 200else{ 201 /* Print valid modes */ 202 printf("Available Modes\n"); 203 for(i=0;modes[i];++i) 204 printf(" %d x %d\n", modes[i]->w, modes[i]->h); 205} 206. 207.</PRE 208></DIV 209><DIV 210CLASS="REFSECT1" 211><A 212NAME="AEN1187" 213></A 214><H2 215>See Also</H2 216><P 217><A 218HREF="sdlsetvideomode.html" 219><TT 220CLASS="FUNCTION" 221>SDL_SetVideoMode</TT 222></A 223>, 224<A 225HREF="sdlgetvideoinfo.html" 226><TT 227CLASS="FUNCTION" 228>SDL_GetVideoInfo</TT 229></A 230>, 231<A 232HREF="sdlrect.html" 233><SPAN 234CLASS="STRUCTNAME" 235>SDL_Rect</SPAN 236></A 237>, 238<A 239HREF="sdlpixelformat.html" 240><SPAN 241CLASS="STRUCTNAME" 242>SDL_PixelFormat</SPAN 243></A 244></P 245></DIV 246><DIV 247CLASS="NAVFOOTER" 248><HR 249ALIGN="LEFT" 250WIDTH="100%"><TABLE 251SUMMARY="Footer navigation table" 252WIDTH="100%" 253BORDER="0" 254CELLPADDING="0" 255CELLSPACING="0" 256><TR 257><TD 258WIDTH="33%" 259ALIGN="left" 260VALIGN="top" 261><A 262HREF="sdlvideodrivername.html" 263ACCESSKEY="P" 264>Prev</A 265></TD 266><TD 267WIDTH="34%" 268ALIGN="center" 269VALIGN="top" 270><A 271HREF="index.html" 272ACCESSKEY="H" 273>Home</A 274></TD 275><TD 276WIDTH="33%" 277ALIGN="right" 278VALIGN="top" 279><A 280HREF="sdlvideomodeok.html" 281ACCESSKEY="N" 282>Next</A 283></TD 284></TR 285><TR 286><TD 287WIDTH="33%" 288ALIGN="left" 289VALIGN="top" 290>SDL_VideoDriverName</TD 291><TD 292WIDTH="34%" 293ALIGN="center" 294VALIGN="top" 295><A 296HREF="video.html" 297ACCESSKEY="U" 298>Up</A 299></TD 300><TD 301WIDTH="33%" 302ALIGN="right" 303VALIGN="top" 304>SDL_VideoModeOK</TD 305></TR 306></TABLE 307></DIV 308></BODY 309></HTML 310>