sdlLockSurface function
Set up a surface for directly accessing the pixels.
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.
\param surface the SDL_Surface structure to be locked. \returns true on success or false on failure; call SDL_GetError() for more information.
\since This function is available since SDL 3.1.3.
\sa SDL_MUSTLOCK \sa SDL_UnlockSurface
extern SDL_DECLSPEC bool SDLCALL SDL_LockSurface(SDL_Surface *surface)
Implementation
bool sdlLockSurface(Pointer<SdlSurface> surface) {
final sdlLockSurfaceLookupFunction = libSdl3.lookupFunction<
Uint8 Function(Pointer<SdlSurface> surface),
int Function(Pointer<SdlSurface> surface)>('SDL_LockSurface');
return sdlLockSurfaceLookupFunction(surface) == 1;
}