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