sdlMapRgba function

int sdlMapRgba(
  1. Pointer<SdlPixelFormat> format,
  2. int r,
  3. int g,
  4. int b,
  5. int a,
)

Map an RGBA quadruple to a pixel value for a given pixel format.

This function maps the RGBA color value to the specified pixel format and returns the pixel value best approximating the given RGBA color value for the given pixel format.

If the specified pixel format has no alpha component the alpha value will be ignored (as it will be in formats with a palette).

If the format has a palette (8-bit) the index of the closest matching color in the palette will be returned.

If the pixel format bpp (color depth) is less than 32-bpp then the unused upper bits of the return value can safely be ignored (e.g., with a 16-bpp format the return value can be assigned to a Uint16, and similarly a Uint8 for an 8-bpp format).

\param format an SDL_PixelFormat structure describing the format of the pixel \param r the red component of the pixel in the range 0-255 \param g the green component of the pixel in the range 0-255 \param b the blue component of the pixel in the range 0-255 \param a the alpha component of the pixel in the range 0-255 \returns a pixel value

\since This function is available since SDL 2.0.0.

\sa SDL_GetRGB \sa SDL_GetRGBA \sa SDL_MapRGB

extern DECLSPEC Uint32 SDLCALL SDL_MapRGBA(const SDL_PixelFormat * format, Uint8 r, Uint8 g, Uint8 b, Uint8 a)

Implementation

int sdlMapRgba(Pointer<SdlPixelFormat> format, int r, int g, int b, int a) {
  final sdlMapRgbaLookupFunction = libSdl2.lookupFunction<
      Uint32 Function(
          Pointer<SdlPixelFormat> format, Uint8 r, Uint8 g, Uint8 b, Uint8 a),
      int Function(Pointer<SdlPixelFormat> format, int r, int g, int b,
          int a)>('SDL_MapRGBA');
  return sdlMapRgbaLookupFunction(format, r, g, b, a);
}