sdlUpdateNvTexture function

int sdlUpdateNvTexture(
  1. Pointer<SdlTexture> texture,
  2. Pointer<SdlRect> rect,
  3. Pointer<Uint8> yplane,
  4. int ypitch,
  5. Pointer<Uint8> uVplane,
  6. int uVpitch,
)

Update a rectangle within a planar NV12 or NV21 texture with new pixels.

You can use SDL_UpdateTexture() as long as your pixel data is a contiguous block of NV12/21 planes in the proper order, but this function is available if your pixel data is not contiguous.

\param texture the texture to update \param rect a pointer to the rectangle of pixels to update, or NULL to update the entire texture. \param Yplane the raw pixel data for the Y plane. \param Ypitch the number of bytes between rows of pixel data for the Y plane. \param UVplane the raw pixel data for the UV plane. \param UVpitch the number of bytes between rows of pixel data for the UV plane. \return 0 on success, or -1 if the texture is not valid.

\since This function is available since SDL 2.0.16.

extern DECLSPEC int SDLCALL SDL_UpdateNVTexture(SDL_Texture * texture, const SDL_Rect * rect, const Uint8 *Yplane, int Ypitch, const Uint8 *UVplane, int UVpitch)

Implementation

int sdlUpdateNvTexture(Pointer<SdlTexture> texture, Pointer<SdlRect> rect,
    Pointer<Uint8> yplane, int ypitch, Pointer<Uint8> uVplane, int uVpitch) {
  final sdlUpdateNvTextureLookupFunction = libSdl2.lookupFunction<
      Int32 Function(
          Pointer<SdlTexture> texture,
          Pointer<SdlRect> rect,
          Pointer<Uint8> yplane,
          Int32 ypitch,
          Pointer<Uint8> uVplane,
          Int32 uVpitch),
      int Function(
          Pointer<SdlTexture> texture,
          Pointer<SdlRect> rect,
          Pointer<Uint8> yplane,
          int ypitch,
          Pointer<Uint8> uVplane,
          int uVpitch)>('SDL_UpdateNVTexture');
  return sdlUpdateNvTextureLookupFunction(
      texture, rect, yplane, ypitch, uVplane, uVpitch);
}