4 >SDL_LockSurface</TITLE
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
10 TITLE="SDL Library Documentation"
11 HREF="index.html"><LINK
14 HREF="video.html"><LINK
16 TITLE="SDL_FreeSurface"
17 HREF="sdlfreesurface.html"><LINK
19 TITLE="SDL_UnlockSurface"
20 HREF="sdlunlocksurface.html"></HEAD
31 SUMMARY="Header navigation table"
40 >SDL Library Documentation</TH
48 HREF="sdlfreesurface.html"
62 HREF="sdlunlocksurface.html"
83 >SDL_LockSurface -- Lock a surface for directly access.</DIV
85 CLASS="REFSYNOPSISDIV"
99 CLASS="FUNCSYNOPSISINFO"
100 >#include "SDL.h"</PRE
109 >(SDL_Surface *surface);</CODE
126 > sets up a surface for directly
127 accessing the pixels. Between calls to <TT
133 >SDL_UnlockSurface</TT
134 >, you can write to and read from
145 >, using the pixel format stored in
156 >. Once you are done accessing the
157 surface, you should use <TT
159 >SDL_UnlockSurface</TT
162 >Not all surfaces require locking.
175 >, then you can read and write to the
176 surface at any time, and the pixel format of the surface will not change. </P
178 >No operating system or library calls should be made between lock/unlock
179 pairs, as critical system locks may be held during this time.</P
181 >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.
183 CLASS="PROGRAMLISTING"
186 SDL_LockSurface( surface );
188 /* Surface is locked */
189 /* Direct pixel access on surface here */
191 SDL_LockSurface( surface );
193 /* More direct pixel access on surface */
195 SDL_UnlockSurface( surface );
196 /* Surface is still locked */
197 /* Note: Is versions < 1.1.8, the surface would have been */
198 /* no longer locked at this stage */
200 SDL_UnlockSurface( surface );
201 /* Surface is now unlocked */
224 > if the surface couldn't be locked.</P
235 HREF="sdlunlocksurface.html"
238 >SDL_UnlockSurface</TT
247 SUMMARY="Footer navigation table"
258 HREF="sdlfreesurface.html"
276 HREF="sdlunlocksurface.html"
300 >SDL_UnlockSurface</TD