mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-06 04:38:37 +01:00
2db54798d7
I am not replacing the following header files used by the Windows build, as I don't have a Windows build setup to test. Please point the Windows build at the header files inside these clean distribution packages and garbage collect the duplicates: GLew/*.h and SDL/Include_1.2. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5711 8ced0084-cf51-0410-be5f-012b33b47a6e
558 lines
8.1 KiB
HTML
558 lines
8.1 KiB
HTML
<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
|
|
> |