forked from KolibriOS/kolibrios
3cf7852e03
git-svn-id: svn://kolibrios.org@5131 a494cfbc-eb01-0410-851d-a64ba20cac60
499 lines
10 KiB
HTML
499 lines
10 KiB
HTML
<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_WasInit"
|
|
HREF="sdlwasinit.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="sdlwasinit.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="sdlwasinit.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_WasInit</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
|
|
> |