| <HTML |
| ><HEAD |
| ><TITLE |
| >Video</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="SDL Reference" |
| HREF="reference.html"><LINK |
| REL="PREVIOUS" |
| TITLE="SDL_envvars" |
| HREF="sdlenvvars.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 |
| 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="sdlenvvars.html" |
| ACCESSKEY="P" |
| >Prev</A |
| ></TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="center" |
| VALIGN="bottom" |
| ></TD |
| ><TD |
| WIDTH="10%" |
| ALIGN="right" |
| VALIGN="bottom" |
| ><A |
| HREF="sdlgetvideosurface.html" |
| ACCESSKEY="N" |
| >Next</A |
| ></TD |
| ></TR |
| ></TABLE |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"></DIV |
| ><DIV |
| CLASS="CHAPTER" |
| ><H1 |
| ><A |
| NAME="VIDEO" |
| ></A |
| >Chapter 6. Video</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 |
| SUMMARY="Footer navigation table" |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| ><A |
| HREF="sdlenvvars.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="sdlgetvideosurface.html" |
| ACCESSKEY="N" |
| >Next</A |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| >SDL_envvars</TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="reference.html" |
| ACCESSKEY="U" |
| >Up</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| >SDL_GetVideoSurface</TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ></BODY |
| ></HTML |
| > |