SDL_LockTextureToSurface(3)

NAME
SDL_LockTextureToSurface - Lock a portion of the texture for write-only pixel access, and expose it as a SDL surface.

SYNOPSIS
#include <SDL3/SDL_render.h>

bool SDL_LockTextureToSurface(SDL_Texture *texture, const SDL_Rect *rect, SDL_Surface **surface);

DESCRIPTION
Besides providing an SDL_Surface instead of raw pixel data, this function operates like SDL_LockTexture.

As an optimization, the pixels made available for editing don't necessarily contain the old texture data. This is a write-only operation, and if you need to keep a copy of the texture data you should do that at the application level.

You must use SDL_UnlockTexture() to unlock the pixels and apply any changes.

The returned surface is freed internally after calling SDL_UnlockTexture() or SDL_DestroyTexture(). The caller should not free it.

FUNCTION PARAMETERS

texture
    the texture to lock for access, which must be created with SDL_TEXTUREACCESS_STREAMING.

rect
    a pointer to the rectangle to lock for access. If the rect is NULL, the entire texture will be locked.

surface
    a pointer to an SDL surface of size rect. Don't assume any specific pixel content.

RETURN VALUE
for more information.

THREAD SAFETY
This function should only be called on the main thread.

AVAILABILITY
This function is available since SDL 3.2.0.

SEE ALSO
SDL_LockTexture(3), SDL_UnlockTexture(3)