| <HTML |
| ><HEAD |
| ><TITLE |
| >SDL_SetVideoMode</TITLE |
| ><META |
| NAME="GENERATOR" |
| CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ |
| "><LINK |
| REL="HOME" |
| TITLE="SDL Library Documentation" |
| HREF="index.html"><LINK |
| REL="UP" |
| TITLE="Video" |
| HREF="video.html"><LINK |
| REL="PREVIOUS" |
| TITLE="SDL_VideoModeOK" |
| HREF="sdlvideomodeok.html"><LINK |
| REL="NEXT" |
| TITLE="SDL_UpdateRect" |
| HREF="sdlupdaterect.html"></HEAD |
| ><BODY |
| CLASS="REFENTRY" |
| BGCOLOR="#FFF8DC" |
| TEXT="#000000" |
| LINK="#0000ee" |
| VLINK="#551a8b" |
| ALINK="#ff0000" |
| ><DIV |
| CLASS="NAVHEADER" |
| ><TABLE |
| SUMMARY="Header navigation table" |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TH |
| COLSPAN="3" |
| ALIGN="center" |
| >SDL Library Documentation</TH |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="10%" |
| ALIGN="left" |
| VALIGN="bottom" |
| ><A |
| HREF="sdlvideomodeok.html" |
| ACCESSKEY="P" |
| >Prev</A |
| ></TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="center" |
| VALIGN="bottom" |
| ></TD |
| ><TD |
| WIDTH="10%" |
| ALIGN="right" |
| VALIGN="bottom" |
| ><A |
| HREF="sdlupdaterect.html" |
| ACCESSKEY="N" |
| >Next</A |
| ></TD |
| ></TR |
| ></TABLE |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"></DIV |
| ><H1 |
| ><A |
| NAME="SDLSETVIDEOMODE" |
| ></A |
| >SDL_SetVideoMode</H1 |
| ><DIV |
| CLASS="REFNAMEDIV" |
| ><A |
| NAME="AEN1239" |
| ></A |
| ><H2 |
| >Name</H2 |
| >SDL_SetVideoMode -- Set up a video mode with the specified width, height and bits-per-pixel.</DIV |
| ><DIV |
| CLASS="REFSYNOPSISDIV" |
| ><A |
| NAME="AEN1242" |
| ></A |
| ><H2 |
| >Synopsis</H2 |
| ><DIV |
| CLASS="FUNCSYNOPSIS" |
| ><A |
| NAME="AEN1243" |
| ></A |
| ><P |
| ></P |
| ><PRE |
| CLASS="FUNCSYNOPSISINFO" |
| >#include "SDL.h"</PRE |
| ><P |
| ><CODE |
| ><CODE |
| CLASS="FUNCDEF" |
| >SDL_Surface *<B |
| CLASS="FSFUNC" |
| >SDL_SetVideoMode</B |
| ></CODE |
| >(int width, int height, int bpp, Uint32 flags);</CODE |
| ></P |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><DIV |
| CLASS="REFSECT1" |
| ><A |
| NAME="AEN1249" |
| ></A |
| ><H2 |
| >Description</H2 |
| ><P |
| >Set up a video mode with the specified width, height and bits-per-pixel.</P |
| ><P |
| >If <TT |
| CLASS="PARAMETER" |
| ><I |
| >bpp</I |
| ></TT |
| > is 0, it is treated as the |
| current display bits per pixel.</P |
| ><P |
| >The <TT |
| CLASS="PARAMETER" |
| ><I |
| >flags</I |
| ></TT |
| > parameter is the same as the <TT |
| CLASS="STRUCTFIELD" |
| ><I |
| >flags</I |
| ></TT |
| > field of the <A |
| HREF="sdlsurface.html" |
| ><SPAN |
| CLASS="STRUCTNAME" |
| >SDL_Surface</SPAN |
| ></A |
| > structure. OR'd combinations of the following values are valid.</P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN1259" |
| ></A |
| ><P |
| ></P |
| ><TABLE |
| BORDER="1" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_SWSURFACE</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >Create the video surface in system memory</TD |
| ></TR |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_HWSURFACE</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >Create the video surface in video memory</TD |
| ></TR |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_ASYNCBLIT</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >Enables the use of asynchronous updates of the display surface. This will |
| usually slow down blitting on single CPU machines, but may provide a speed |
| increase on SMP systems.</TD |
| ></TR |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_ANYFORMAT</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >Normally, if a video surface of the requested bits-per-pixel (<TT |
| CLASS="PARAMETER" |
| ><I |
| >bpp</I |
| ></TT |
| >) is not available, SDL will emulate one with a shadow surface. Passing <TT |
| CLASS="LITERAL" |
| >SDL_ANYFORMAT</TT |
| > prevents this and causes SDL to use the video surface, regardless of its pixel depth.</TD |
| ></TR |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_HWPALETTE</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >Give SDL exclusive palette access. Without this flag you may not always get the the colors you request with <A |
| HREF="sdlsetcolors.html" |
| ><TT |
| CLASS="FUNCTION" |
| >SDL_SetColors</TT |
| ></A |
| > or <A |
| HREF="sdlsetpalette.html" |
| ><TT |
| CLASS="FUNCTION" |
| >SDL_SetPalette</TT |
| ></A |
| >.</TD |
| ></TR |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_DOUBLEBUF</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >Enable hardware double buffering; only valid with SDL_HWSURFACE. Calling |
| <A |
| HREF="sdlflip.html" |
| ><TT |
| CLASS="FUNCTION" |
| >SDL_Flip</TT |
| ></A |
| > will flip the |
| buffers and update the screen. All drawing will take place on the surface |
| that is not displayed at the moment. If double buffering could not be enabled |
| then <TT |
| CLASS="FUNCTION" |
| >SDL_Flip</TT |
| > will just perform a |
| <A |
| HREF="sdlupdaterect.html" |
| ><TT |
| CLASS="FUNCTION" |
| >SDL_UpdateRect</TT |
| ></A |
| > |
| on the entire screen.</TD |
| ></TR |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_FULLSCREEN</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >SDL will attempt to use a fullscreen mode. If a hardware resolution change is |
| not possible (for whatever reason), the next higher resolution will be used and |
| the display window centered on a black background.</TD |
| ></TR |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_OPENGL</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >Create an OpenGL rendering context. You should have previously set OpenGL video attributes with <A |
| HREF="sdlglsetattribute.html" |
| ><TT |
| CLASS="FUNCTION" |
| >SDL_GL_SetAttribute</TT |
| ></A |
| >.</TD |
| ></TR |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_OPENGLBLIT</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >Create an OpenGL rendering context, like above, but allow normal blitting |
| operations. The screen (2D) surface may have an alpha channel, and |
| <A |
| HREF="sdlupdaterects.html" |
| ><TT |
| CLASS="FUNCTION" |
| >SDL_UpdateRects</TT |
| ></A |
| > |
| must be used for updating changes to the screen surface. NOTE: This option |
| is kept for compatibility only, and is <SPAN |
| CLASS="emphasis" |
| ><I |
| CLASS="EMPHASIS" |
| >not</I |
| ></SPAN |
| > recommended for |
| new code.</TD |
| ></TR |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_RESIZABLE</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >Create a resizable window. When the window is resized by the user a <A |
| HREF="sdlresizeevent.html" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_VIDEORESIZE</TT |
| ></A |
| > event is generated and <TT |
| CLASS="FUNCTION" |
| >SDL_SetVideoMode</TT |
| > can be called again with the new size.</TD |
| ></TR |
| ><TR |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="LITERAL" |
| >SDL_NOFRAME</TT |
| ></TD |
| ><TD |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >If possible, <TT |
| CLASS="LITERAL" |
| >SDL_NOFRAME</TT |
| > causes SDL to create a window with no title bar or frame decoration. Fullscreen modes automatically have this flag set.</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ><DIV |
| CLASS="NOTE" |
| ><BLOCKQUOTE |
| CLASS="NOTE" |
| ><P |
| ><B |
| >Note: </B |
| >Whatever <TT |
| CLASS="PARAMETER" |
| ><I |
| >flags</I |
| ></TT |
| > <TT |
| CLASS="FUNCTION" |
| >SDL_SetVideoMode</TT |
| > could satisfy are set in the <TT |
| CLASS="STRUCTFIELD" |
| ><I |
| >flags</I |
| ></TT |
| > member of the returned surface.</P |
| ></BLOCKQUOTE |
| ></DIV |
| ><DIV |
| CLASS="NOTE" |
| ><BLOCKQUOTE |
| CLASS="NOTE" |
| ><P |
| ><B |
| >Note: </B |
| >The <TT |
| CLASS="PARAMETER" |
| ><I |
| >bpp</I |
| ></TT |
| > parameter is the number of bits per pixel, |
| so a <TT |
| CLASS="PARAMETER" |
| ><I |
| >bpp</I |
| ></TT |
| > of 24 uses the packed representation of |
| 3 bytes/pixel. For the more common 4 bytes/pixel mode, use a |
| <TT |
| CLASS="PARAMETER" |
| ><I |
| >bpp</I |
| ></TT |
| > of 32. Somewhat oddly, both 15 and 16 will |
| request a 2 bytes/pixel mode, but different pixel formats.</P |
| ></BLOCKQUOTE |
| ></DIV |
| ></DIV |
| ><DIV |
| CLASS="REFSECT1" |
| ><A |
| NAME="AEN1336" |
| ></A |
| ><H2 |
| >Return Value</H2 |
| ><P |
| >The framebuffer surface, or <SPAN |
| CLASS="RETURNVALUE" |
| >NULL</SPAN |
| > if it fails. |
| The surface returned is freed by SDL_Quit() and should nt be freed by |
| the caller.</P |
| ></DIV |
| ><DIV |
| CLASS="REFSECT1" |
| ><A |
| NAME="AEN1340" |
| ></A |
| ><H2 |
| >See Also</H2 |
| ><P |
| ><A |
| HREF="sdllocksurface.html" |
| ><TT |
| CLASS="FUNCTION" |
| >SDL_LockSurface</TT |
| ></A |
| >, |
| <A |
| HREF="sdlsetcolors.html" |
| ><TT |
| CLASS="FUNCTION" |
| >SDL_SetColors</TT |
| ></A |
| >, |
| <A |
| HREF="sdlflip.html" |
| ><TT |
| CLASS="FUNCTION" |
| >SDL_Flip</TT |
| ></A |
| >, |
| <A |
| HREF="sdlsurface.html" |
| ><SPAN |
| CLASS="STRUCTNAME" |
| >SDL_Surface</SPAN |
| ></A |
| ></P |
| ></DIV |
| ><DIV |
| CLASS="NAVFOOTER" |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"><TABLE |
| SUMMARY="Footer navigation table" |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| ><A |
| HREF="sdlvideomodeok.html" |
| ACCESSKEY="P" |
| >Prev</A |
| ></TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="index.html" |
| ACCESSKEY="H" |
| >Home</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| ><A |
| HREF="sdlupdaterect.html" |
| ACCESSKEY="N" |
| >Next</A |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| >SDL_VideoModeOK</TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="video.html" |
| ACCESSKEY="U" |
| >Up</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| >SDL_UpdateRect</TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ></BODY |
| ></HTML |
| > |