Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SDL_LockSurface(3)		SDL API Reference	      SDL_LockSurface(3)

NAME
     SDL_LockSurface - Lock a surface for directly access.

SYNOPSIS
     #include "SDL.h"

     int SDL_LockSurface(SDL_Surface *surface);

DESCRIPTION
     SDL_LockSurface  sets  up	a surface for directly accessing the pixels. Be-
     tween calls to SDL_LockSurface and SDL_UnlockSurface, you can write to  and
     read  from  surface->pixels, using the pixel format stored in surface->for-
     mat. Once you are done accessing the surface, you should use SDL_UnlockSur-
     face 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 for-
     mat of the surface will not change.

     No operating system or library calls should  be  made  between  lock/unlock
     pairs, as critical system locks may be held during this time.

     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.

	 .
	 .
	 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 */
	 .
	 .

RETURN VALUE
     SDL_LockSurface returns 0, or -1 if the surface couldn't be locked.

SEE ALSO
     SDL_UnlockSurface

SDL			     Tue 11 Sep 2001, 23:01	      SDL_LockSurface(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=SDL_LockSurface&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help