| <HTML |
| ><HEAD |
| ><TITLE |
| >Video</TITLE |
| ><META |
| NAME="GENERATOR" |
| CONTENT="Modular DocBook HTML Stylesheet Version 1.64 |
| "><LINK |
| REL="HOME" |
| TITLE="SDL Library Documentation" |
| HREF="index.html"><LINK |
| REL="UP" |
| TITLE="SDL Reference" |
| HREF="reference.html"><LINK |
| REL="PREVIOUS" |
| TITLE="SDL_GetError" |
| HREF="sdlgeterror.html"><LINK |
| REL="NEXT" |
| TITLE="SDL_GetVideoSurface" |
| HREF="sdlgetvideosurface.html"><META |
| NAME="KEYWORD" |
| CONTENT="video"><META |
| NAME="KEYWORD" |
| CONTENT="function"></HEAD |
| ><BODY |
| CLASS="CHAPTER" |
| BGCOLOR="#FFF8DC" |
| TEXT="#000000" |
| LINK="#0000ee" |
| VLINK="#551a8b" |
| ALINK="#ff0000" |
| ><DIV |
| CLASS="NAVHEADER" |
| ><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="sdlgeterror.html" |
| >Prev</A |
| ></TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="center" |
| VALIGN="bottom" |
| ></TD |
| ><TD |
| WIDTH="10%" |
| ALIGN="right" |
| VALIGN="bottom" |
| ><A |
| HREF="sdlgetvideosurface.html" |
| >Next</A |
| ></TD |
| ></TR |
| ></TABLE |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"></DIV |
| ><DIV |
| CLASS="CHAPTER" |
| ><H1 |
| ><A |
| NAME="VIDEO" |
| >Chapter 6. Video</A |
| ></H1 |
| ><DIV |
| CLASS="TOC" |
| ><DL |
| ><DT |
| ><B |
| >Table of Contents</B |
| ></DT |
| ><DT |
| ><A |
| HREF="sdlgetvideosurface.html" |
| >SDL_GetVideoSurface</A |
| > — returns a pointer to the current display surface</DT |
| ><DT |
| ><A |
| HREF="sdlgetvideoinfo.html" |
| >SDL_GetVideoInfo</A |
| > — returns a pointer to information about the video hardware</DT |
| ><DT |
| ><A |
| HREF="sdlvideodrivername.html" |
| >SDL_VideoDriverName</A |
| > — Obtain the name of the video driver</DT |
| ><DT |
| ><A |
| HREF="sdllistmodes.html" |
| >SDL_ListModes</A |
| > — Returns a pointer to an array of available screen dimensions for |
| the given format and video flags</DT |
| ><DT |
| ><A |
| HREF="sdlvideomodeok.html" |
| >SDL_VideoModeOK</A |
| > — Check to see if a particular video mode is supported.</DT |
| ><DT |
| ><A |
| HREF="sdlsetvideomode.html" |
| >SDL_SetVideoMode</A |
| > — Set up a video mode with the specified width, height and bits-per-pixel.</DT |
| ><DT |
| ><A |
| HREF="sdlupdaterect.html" |
| >SDL_UpdateRect</A |
| > — Makes sure the given area is updated on the given screen.</DT |
| ><DT |
| ><A |
| HREF="sdlupdaterects.html" |
| >SDL_UpdateRects</A |
| > — Makes sure the given list of rectangles is updated on the given screen.</DT |
| ><DT |
| ><A |
| HREF="sdlflip.html" |
| >SDL_Flip</A |
| > — Swaps screen buffers</DT |
| ><DT |
| ><A |
| HREF="sdlsetcolors.html" |
| >SDL_SetColors</A |
| > — Sets a portion of the colormap for the given 8-bit surface.</DT |
| ><DT |
| ><A |
| HREF="sdlsetpalette.html" |
| >SDL_SetPalette</A |
| > — Sets the colors in the palette of an 8-bit surface.</DT |
| ><DT |
| ><A |
| HREF="sdlsetgamma.html" |
| >SDL_SetGamma</A |
| > — Sets the color gamma function for the display</DT |
| ><DT |
| ><A |
| HREF="sdlgetgammaramp.html" |
| >SDL_GetGammaRamp</A |
| > — Gets the color gamma lookup tables for the display</DT |
| ><DT |
| ><A |
| HREF="sdlsetgammaramp.html" |
| >SDL_SetGammaRamp</A |
| > — Sets the color gamma lookup tables for the display</DT |
| ><DT |
| ><A |
| HREF="sdlmaprgb.html" |
| >SDL_MapRGB</A |
| > — Map a RGB color value to a pixel format.</DT |
| ><DT |
| ><A |
| HREF="sdlmaprgba.html" |
| >SDL_MapRGBA</A |
| > — Map a RGBA color value to a pixel format.</DT |
| ><DT |
| ><A |
| HREF="sdlgetrgb.html" |
| >SDL_GetRGB</A |
| > — Get RGB values from a pixel in the specified pixel format.</DT |
| ><DT |
| ><A |
| HREF="sdlgetrgba.html" |
| >SDL_GetRGBA</A |
| > — Get RGBA values from a pixel in the specified pixel format.</DT |
| ><DT |
| ><A |
| HREF="sdlcreatergbsurface.html" |
| >SDL_CreateRGBSurface</A |
| > — Create an empty SDL_Surface</DT |
| ><DT |
| ><A |
| HREF="sdlcreatergbsurfacefrom.html" |
| >SDL_CreateRGBSurfaceFrom</A |
| > — Create an SDL_Surface from pixel data</DT |
| ><DT |
| ><A |
| HREF="sdlfreesurface.html" |
| >SDL_FreeSurface</A |
| > — Frees (deletes) a SDL_Surface</DT |
| ><DT |
| ><A |
| HREF="sdllocksurface.html" |
| >SDL_LockSurface</A |
| > — Lock a surface for directly access.</DT |
| ><DT |
| ><A |
| HREF="sdlunlocksurface.html" |
| >SDL_UnlockSurface</A |
| > — Unlocks a previously locked surface.</DT |
| ><DT |
| ><A |
| HREF="sdlloadbmp.html" |
| >SDL_LoadBMP</A |
| > — Load a Windows BMP file into an SDL_Surface.</DT |
| ><DT |
| ><A |
| HREF="sdlsavebmp.html" |
| >SDL_SaveBMP</A |
| > — Save an SDL_Surface as a Windows BMP file.</DT |
| ><DT |
| ><A |
| HREF="sdlsetcolorkey.html" |
| >SDL_SetColorKey</A |
| > — Sets the color key (transparent pixel) in a blittable surface and |
| RLE acceleration.</DT |
| ><DT |
| ><A |
| HREF="sdlsetalpha.html" |
| >SDL_SetAlpha</A |
| > — Adjust the alpha properties of a surface</DT |
| ><DT |
| ><A |
| HREF="sdlsetcliprect.html" |
| >SDL_SetClipRect</A |
| > — Sets the clipping rectangle for a surface.</DT |
| ><DT |
| ><A |
| HREF="sdlgetcliprect.html" |
| >SDL_GetClipRect</A |
| > — Gets the clipping rectangle for a surface.</DT |
| ><DT |
| ><A |
| HREF="sdlconvertsurface.html" |
| >SDL_ConvertSurface</A |
| > — Converts a surface to the same format as another surface.</DT |
| ><DT |
| ><A |
| HREF="sdlblitsurface.html" |
| >SDL_BlitSurface</A |
| > — This performs a fast blit from the source surface to the destination surface.</DT |
| ><DT |
| ><A |
| HREF="sdlfillrect.html" |
| >SDL_FillRect</A |
| > — This function performs a fast fill of the given rectangle with some color</DT |
| ><DT |
| ><A |
| HREF="sdldisplayformat.html" |
| >SDL_DisplayFormat</A |
| > — Convert a surface to the display format</DT |
| ><DT |
| ><A |
| HREF="sdldisplayformatalpha.html" |
| >SDL_DisplayFormatAlpha</A |
| > — Convert a surface to the display format</DT |
| ><DT |
| ><A |
| HREF="sdlwarpmouse.html" |
| >SDL_WarpMouse</A |
| > — Set the position of the mouse cursor.</DT |
| ><DT |
| ><A |
| HREF="sdlcreatecursor.html" |
| >SDL_CreateCursor</A |
| > — Creates a new mouse cursor.</DT |
| ><DT |
| ><A |
| HREF="sdlfreecursor.html" |
| >SDL_FreeCursor</A |
| > — Frees a cursor created with SDL_CreateCursor.</DT |
| ><DT |
| ><A |
| HREF="sdlsetcursor.html" |
| >SDL_SetCursor</A |
| > — Set the currently active mouse cursor.</DT |
| ><DT |
| ><A |
| HREF="sdlgetcursor.html" |
| >SDL_GetCursor</A |
| > — Get the currently active mouse cursor.</DT |
| ><DT |
| ><A |
| HREF="sdlshowcursor.html" |
| >SDL_ShowCursor</A |
| > — Toggle whether or not the cursor is shown on the screen.</DT |
| ><DT |
| ><A |
| HREF="sdlglloadlibrary.html" |
| >SDL_GL_LoadLibrary</A |
| > — Specify an OpenGL library</DT |
| ><DT |
| ><A |
| HREF="sdlglgetprocaddress.html" |
| >SDL_GL_GetProcAddress</A |
| > — Get the address of a GL function</DT |
| ><DT |
| ><A |
| HREF="sdlglgetattribute.html" |
| >SDL_GL_GetAttribute</A |
| > — Get the value of a special SDL/OpenGL attribute</DT |
| ><DT |
| ><A |
| HREF="sdlglsetattribute.html" |
| >SDL_GL_SetAttribute</A |
| > — Set a special SDL/OpenGL attribute</DT |
| ><DT |
| ><A |
| HREF="sdlglswapbuffers.html" |
| >SDL_GL_SwapBuffers</A |
| > — Swap OpenGL framebuffers/Update Display</DT |
| ><DT |
| ><A |
| HREF="sdlcreateyuvoverlay.html" |
| >SDL_CreateYUVOverlay</A |
| > — Create a YUV video overlay</DT |
| ><DT |
| ><A |
| HREF="sdllockyuvoverlay.html" |
| >SDL_LockYUVOverlay</A |
| > — Lock an overlay</DT |
| ><DT |
| ><A |
| HREF="sdlunlockyuvoverlay.html" |
| >SDL_UnlockYUVOverlay</A |
| > — Unlock an overlay</DT |
| ><DT |
| ><A |
| HREF="sdldisplayyuvoverlay.html" |
| >SDL_DisplayYUVOverlay</A |
| > — Blit the overlay to the display</DT |
| ><DT |
| ><A |
| HREF="sdlfreeyuvoverlay.html" |
| >SDL_FreeYUVOverlay</A |
| > — Free a YUV video overlay</DT |
| ><DT |
| ><A |
| HREF="sdlglattr.html" |
| >SDL_GLattr</A |
| > — SDL GL Attributes</DT |
| ><DT |
| ><A |
| HREF="sdlrect.html" |
| >SDL_Rect</A |
| > — Defines a rectangular area</DT |
| ><DT |
| ><A |
| HREF="sdlcolor.html" |
| >SDL_Color</A |
| > — Format independent color description</DT |
| ><DT |
| ><A |
| HREF="sdlpalette.html" |
| >SDL_Palette</A |
| > — Color palette for 8-bit pixel formats</DT |
| ><DT |
| ><A |
| HREF="sdlpixelformat.html" |
| >SDL_PixelFormat</A |
| > — Stores surface format information</DT |
| ><DT |
| ><A |
| HREF="sdlsurface.html" |
| >SDL_Surface</A |
| > — Graphical Surface Structure</DT |
| ><DT |
| ><A |
| HREF="sdlvideoinfo.html" |
| >SDL_VideoInfo</A |
| > — Video Target information</DT |
| ><DT |
| ><A |
| HREF="sdloverlay.html" |
| >SDL_Overlay</A |
| > — YUV video overlay</DT |
| ></DL |
| ></DIV |
| ><P |
| >SDL presents a very simple interface to the display framebuffer. The |
| framebuffer is represented as an offscreen surface to which you can write |
| directly. If you want the screen to show what you have written, call the <A |
| HREF="sdlupdaterects.html" |
| >update</A |
| > function which will |
| guarantee that the desired portion of the screen is updated.</P |
| ><P |
| >Before you call any of the SDL video functions, you must first call |
| <SPAN |
| CLASS="TOKEN" |
| >SDL_Init(SDL_INIT_VIDEO)</SPAN |
| >, which initializes the video |
| and events in the SDL library. Check the return code, which should be |
| <SPAN |
| CLASS="RETURNVALUE" |
| >0</SPAN |
| >, to see if there were any errors in starting up.</P |
| ><P |
| >If you use both sound and video in your application, you need to call |
| <SPAN |
| CLASS="TOKEN" |
| >SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO)</SPAN |
| > before opening the |
| sound device, otherwise under Win32 DirectX, you won't be able to set |
| full-screen display modes.</P |
| ><P |
| >After you have initialized the library, you can start up the video display in a |
| number of ways. The easiest way is to pick a common screen resolution and |
| depth and just initialize the video, checking for errors. You will probably |
| get what you want, but SDL may be emulating your requested mode and converting |
| the display on update. The best way is to |
| <A |
| HREF="sdlgetvideoinfo.html" |
| >query</A |
| >, for the best |
| video mode closest to the desired one, and then |
| <A |
| HREF="sdldisplayformat.html" |
| >convert</A |
| > |
| your images to that pixel format.</P |
| ><P |
| >SDL currently supports any bit depth >= 8 bits per pixel. 8 bpp formats are |
| considered 8-bit palettized modes, while 12, 15, 16, 24, and 32 bits per pixel |
| are considered "packed pixel" modes, meaning each pixel contains the RGB color |
| components packed in the bits of the pixel.</P |
| ><P |
| >After you have initialized your video mode, you can take the surface that was |
| returned, and write to it like any other framebuffer, calling the update |
| routine as you go.</P |
| ><P |
| >When you have finished your video access and are ready to quit your |
| application, you should call "<SPAN |
| CLASS="TOKEN" |
| >SDL_Quit()</SPAN |
| >" to shutdown the |
| video and events.</P |
| ></DIV |
| ><DIV |
| CLASS="NAVFOOTER" |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"><TABLE |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| ><A |
| HREF="sdlgeterror.html" |
| >Prev</A |
| ></TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="index.html" |
| >Home</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| ><A |
| HREF="sdlgetvideosurface.html" |
| >Next</A |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| >SDL_GetError</TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="reference.html" |
| >Up</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| >SDL_GetVideoSurface</TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ></BODY |
| ></HTML |
| > |