Wiki Page Content


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


int SDL_LockSurface(SDL_Surface* surface)

Function Parameters


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

/* Make the pixels pointer valid in the surface */


/* Surface is locked */
/* Direct pixel access on surface here */


/* Surface is now unlocked */


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)

Please include your contact information if you'd like to receive a reply.