You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
558 lines
8.1 KiB
558 lines
8.1 KiB
<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 |
|
> |