Set up a surface for directly accessing the pixels.
Defined in <SDL3/SDL_surface.h>
bool SDL_LockSurface(SDL_Surface *surface);| SDL_Surface * | surface | the SDL_Surface structure to be locked. |
(bool) Returns true on success or false on failure; call SDL_GetError() for more information.
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.
This function is not thread safe. The locking referred to by this function is making the pixels available for direct access, not thread-safe locking.
This function is available since SDL 3.2.0.