Wiki Page Content

Differences between revisions 7 and 8
Revision 7 as of 2010-12-22 00:51:28
Size: 1850
Editor: SheenaSmith
Comment: update formatting - enums, structs, the/an
Revision 8 as of 2011-01-11 23:16:59
Size: 1651
Editor: SheenaSmith
Comment: update content - w/ Sam; remove draft
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
||<tablewidth="100%" style="color: #FF0000;" :> DRAFT||
Line 22: Line 21:
*
Line 49: Line 47:
*
Line 56: Line 54:
No operating system or library calls should be made between lock/unlock pairs, as critical system locks may be held during this time.

SDL_LockSurface

Use this function to set up a surface for directly accessing the pixels.

Syntax

int SDL_LockSurface(SDL_Surface* surface)

Function Parameters

surface

the SDL_Surface structure to be locked

Return Value

Returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.

Code Examples

SDL_Surface* surface = NULL;

/* Assign a surface pointer to surface */

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: In versions < 1.1.8, the surface would have been */
/* no longer locked at this stage                         */

SDL_UnlockSurface( surface );
/* Surface is now unlocked */

SDL_FreeSurface( surface );
surface = NULL;

Remarks

Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write to and read from surface->pixels, using the pixel format stored in surface->format. Once you are done accessing the surface, you should use SDL_UnlockSurface() to release it.

Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates to 0, then you can read and write to the surface at any time, and the pixel format of the surface will not change.


CategoryAPI, CategorySurface

None: SDL_LockSurface (last edited 2014-01-11 13:52:41 by PhilippWiesemann)

(Page Info.)
Feedback
Please include your contact information if you'd like to receive a reply.
Submit