SDL_LockTextureToSurface3
Lock a portion of the texture for write-only pixel access, and expose it as a sdl surface.
Usage
#include "SDL3/SDL.h"
bool SDL_LockTextureToSurface(SDL_Texture *texture, const SDL_Rect *rect, SDL_Surface **surface);
Header file
Defined in SDL3/SDL_render.h
Overview
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
Returns true on success or false on failure; call
SDL_GetError () for more information.
Thread safety
This function should only be called on the main thread.