Function SDL_LockTextureToSurface

pub unsafe extern "C" fn SDL_LockTextureToSurface(
    texture: *mut SDL_Texture,
    rect: *const SDL_Rect,
    surface: *mut *mut SDL_Surface,
) -> bool
Available on crate feature dep_sdl3 only.
Expand description

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

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.

§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.

§Availability

This function is available since SDL 3.2.0.

§See also