sdlLockSurface function surface
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.
\threadsafety This function can be called on different threads with different surfaces. The locking referred to by this function is making the pixels available for direct access, not thread-safe locking.
\since This function is available since SDL 3.2.0.
\sa SDL_MUSTLOCK \sa SDL_UnlockSurface
extern SDL_DECLSPEC bool SDLCALL SDL_LockSurface(SDL_Surface *surface)
Implementation
bool sdlLockSurface(Pointer<SdlSurface> surface) {
final sdlLockSurfaceLookupFunction = _libSdl
.lookupFunction<
Uint8 Function(Pointer<SdlSurface> surface),
int Function(Pointer<SdlSurface> surface)
>('SDL_LockSurface');
return sdlLockSurfaceLookupFunction(surface) == 1;
}