sdlCreateRgbSurfaceFrom function

Pointer<SdlSurface> sdlCreateRgbSurfaceFrom(
  1. Pointer<NativeType> pixels,
  2. int width,
  3. int height,
  4. int depth,
  5. int pitch,
  6. int rmask,
  7. int gmask,
  8. int bmask,
  9. int amask,
)

Allocate a new RGB surface with existing pixel data.

This function operates mostly like SDL_CreateRGBSurface(), except it does not allocate memory for the pixel data, instead the caller provides an existing buffer of data for the surface to use.

No copy is made of the pixel data. Pixel data is not managed automatically; you must free the surface before you free the pixel data.

\param pixels a pointer to existing pixel data \param width the width of the surface \param height the height of the surface \param depth the depth of the surface in bits \param pitch the pitch of the surface in bytes \param Rmask the red mask for the pixels \param Gmask the green mask for the pixels \param Bmask the blue mask for the pixels \param Amask the alpha mask for the pixels \returns the new SDL_Surface structure that is created or NULL if it fails; call SDL_GetError() for more information.

\since This function is available since SDL 2.0.0.

\sa SDL_CreateRGBSurface \sa SDL_CreateRGBSurfaceWithFormat \sa SDL_FreeSurface

extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels, int width, int height, int depth, int pitch, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)

Implementation

Pointer<SdlSurface> sdlCreateRgbSurfaceFrom(
    Pointer<NativeType> pixels,
    int width,
    int height,
    int depth,
    int pitch,
    int rmask,
    int gmask,
    int bmask,
    int amask) {
  final sdlCreateRgbSurfaceFromLookupFunction = libSdl2.lookupFunction<
      Pointer<SdlSurface> Function(
          Pointer<NativeType> pixels,
          Int32 width,
          Int32 height,
          Int32 depth,
          Int32 pitch,
          Uint32 rmask,
          Uint32 gmask,
          Uint32 bmask,
          Uint32 amask),
      Pointer<SdlSurface> Function(
          Pointer<NativeType> pixels,
          int width,
          int height,
          int depth,
          int pitch,
          int rmask,
          int gmask,
          int bmask,
          int amask)>('SDL_CreateRGBSurfaceFrom');
  return sdlCreateRgbSurfaceFromLookupFunction(
      pixels, width, height, depth, pitch, rmask, gmask, bmask, amask);
}