Mercurial > sdl-ios-xcode
diff docs/html/sdllocksurface.html @ 0:74212992fb08
Initial revision
author | Sam Lantinga <slouken@lokigames.com> |
---|---|
date | Thu, 26 Apr 2001 16:45:43 +0000 |
parents | |
children | 55f1f1b3e27d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/html/sdllocksurface.html Thu Apr 26 16:45:43 2001 +0000 @@ -0,0 +1,299 @@ +<HTML +><HEAD +><TITLE +>SDL_LockSurface</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.61 +"><LINK +REL="HOME" +TITLE="SDL Library Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Video" +HREF="video.html"><LINK +REL="PREVIOUS" +TITLE="SDL_FreeSurface" +HREF="sdlfreesurface.html"><LINK +REL="NEXT" +TITLE="SDL_UnlockSurface" +HREF="sdlunlocksurface.html"></HEAD +><BODY +CLASS="REFENTRY" +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="sdlfreesurface.html" +>Prev</A +></TD +><TD +WIDTH="80%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="10%" +ALIGN="right" +VALIGN="bottom" +><A +HREF="sdlunlocksurface.html" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SDLLOCKSURFACE" +>SDL_LockSurface</A +></H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN1435" +></A +><H2 +>Name</H2 +>SDL_LockSurface -- Lock a surface for directly access.</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN1438" +></A +><H2 +>Synopsis</H2 +><DIV +CLASS="FUNCSYNOPSIS" +><A +NAME="AEN1439" +></A +><P +></P +><PRE +CLASS="FUNCSYNOPSISINFO" +>#include "SDL.h"</PRE +><P +><CODE +><CODE +CLASS="FUNCDEF" +>int <B +CLASS="FSFUNC" +>SDL_LockSurface</B +></CODE +>(SDL_Surface *surface);</CODE +></P +><P +></P +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN1445" +></A +><H2 +>Description</H2 +><P +><TT +CLASS="FUNCTION" +>SDL_LockSurface</TT +> sets up a surface for directly +accessing the pixels. Between calls to <TT +CLASS="FUNCTION" +>SDL_LockSurface</TT +> +and <TT +CLASS="FUNCTION" +>SDL_UnlockSurface</TT +>, you can write to and read from +<TT +CLASS="PARAMETER" +><I +>surface-><TT +CLASS="STRUCTFIELD" +><I +>pixels</I +></TT +></I +></TT +>, using the pixel format stored in +<TT +CLASS="PARAMETER" +><I +>surface-><TT +CLASS="STRUCTFIELD" +><I +>format</I +></TT +></I +></TT +>. Once you are done accessing the +surface, you should use <TT +CLASS="FUNCTION" +>SDL_UnlockSurface</TT +> to release it.</P +><P +>Not all surfaces require locking. +If <TT +CLASS="LITERAL" +>SDL_MUSTLOCK</TT +>(<TT +CLASS="PARAMETER" +><I +>surface</I +></TT +>) +evaluates to <SPAN +CLASS="RETURNVALUE" +>0</SPAN +>, then you can read and write to the +surface at any time, and the pixel format of the surface will not change. </P +><P +>No operating system or library calls should be made between lock/unlock +pairs, as critical system locks may be held during this time.</P +><P +>It should be noted, that since SDL 1.1.8 surface locks are recursive. This means that you can lock a surface multiple times, but each lock must have a match unlock. +<PRE +CLASS="PROGRAMLISTING" +> . + . + SDL_LockSurface( surface ); + . + /* Surface is locked */ + /* Direct pixel access on surface here */ + . + SDL_LockSurface( surface ); + . + /* More direct pixel access on surface */ + . + SDL_UnlockSurface( surface ); + /* Surface is still locked */ + /* Note: Is versions < 1.1.8, the surface would have been */ + /* no longer locked at this stage */ + . + SDL_UnlockSurface( surface ); + /* Surface is now unlocked */ + . + .</PRE +> + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN1463" +></A +><H2 +>Return Value</H2 +><P +><TT +CLASS="FUNCTION" +>SDL_LockSurface</TT +> returns <SPAN +CLASS="RETURNVALUE" +>0</SPAN +>, +or <SPAN +CLASS="RETURNVALUE" +>-1</SPAN +> if the surface couldn't be locked.</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN1469" +></A +><H2 +>See Also</H2 +><P +><A +HREF="sdlunlocksurface.html" +><TT +CLASS="FUNCTION" +>SDL_UnlockSurface</TT +></A +></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="sdlfreesurface.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="sdlunlocksurface.html" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SDL_FreeSurface</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="video.html" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SDL_UnlockSurface</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file