---
name: "SDLmm_PixelFormat"
section: "3"
platform: "linux"
package: "libsdl-mm0.1"
version: "0.1.8-4"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/SDLmm_PixelFormat"
---

# SDLmm\_PixelFormat(3)

## NAME

SDLmm::PixelFormat -

## SYNOPSIS

`#include <sdlmm_pixelformat.h>`

### Public Methods

**PixelFormat** (SDL\_PixelFormat \*pixelformat)\
 *Constructor from an SDL\_PixelFormat\*.* virtual **~PixelFormat** ()\
 *The destructor.* Uint8 **BitsPerPixel** () const\
 Uint8 **BytesPerPixel** () const\
 Uint8 **Rshift** () const\
 Uint8 **Gshift** () const\
 Uint8 **Bshift** () const\
 Uint8 **Rloss** () const\
 Uint8 **Gloss** () const\
 Uint8 **Bloss** () const\
 Uint8 **Aloss** () const\
 Uint32 **Rmask** () const\
 Uint32 **Gmask** () const\
 Uint32 **Bmask** () const\
 Uint32 **Amask** () const\
 **Color** **colorkey** () const\
 Uint8 **alpha** () const\
 SDL\_Palette\* **palette** () const\
 **Color** **MapRGB** (Uint8 r, Uint8 g, Uint8 b) const\
 *Map a RGB color value to a pixel format.* **Color** **MapRGB** (const **ColorRGB** &colorrgb) const\
 **Color** **MapRGBA** (Uint8 r, Uint8 g, Uint8 b, Uint8 a) const\
 *Map a RGBA color value to a pixel format.* **Color** **MapRGBA** (const **ColorRGBA** &colorrgba) const\
 void **GetRGB** (**Color** pixel, Uint8 &r, Uint8 &g, Uint8 &b) const\
 *Get RGB values from a pixel in the pixel format of this* **PixelFormat***.* const **ColorRGB** **GetRGB** (**Color** pixel) const\
 void **GetRGBA** (**Color** pixel, Uint8 &r, Uint8 &g, Uint8 &b, Uint8 &a) const\
 *Get RGBA values from a pixel in the pixel format of this* **PixelFormat***.* const **ColorRGBA** **GetRGBA** (**Color** pixel) const\

**Informational methods**\

bool **valid** () const\
 *Returns true if this* **PixelFormat** *is initialized, false otherwise.*

### Protected Attributes

SDL\_PixelFormat\* **me**\
 *The actual SDL\_PixelFormat for this* **PixelFormat***.*

## DETAILED DESCRIPTION

**Author:**  Adam Gates

## CONSTRUCTOR & DESTRUCTOR DOCUMENTATION

### SDLmm::PixelFormat::PixelFormat (SDL\_PixelFormat \* pixelformat)` [inline, explicit]`

Constructor from an SDL\_PixelFormat\*.

This creates a new **PixelFormat** object from an existing SDL\_PixelFormat. It's very important not to free the original pixel format since that will cause problems. Use with caution.

### SDLmm::PixelFormat::~PixelFormat ()` [inline, virtual]`

The destructor.

## MEMBER FUNCTION DOCUMENTATION

### Uint8 SDLmm::PixelFormat::Aloss () const` [inline]`

### Uint32 SDLmm::PixelFormat::Amask () const` [inline]`

### Uint8 SDLmm::PixelFormat::BitsPerPixel () const` [inline]`

### Uint8 SDLmm::PixelFormat::Bloss () const` [inline]`

### Uint32 SDLmm::PixelFormat::Bmask () const` [inline]`

### Uint8 SDLmm::PixelFormat::Bshift () const` [inline]`

### Uint8 SDLmm::PixelFormat::BytesPerPixel () const` [inline]`

### const ColorRGB SDLmm::PixelFormat::GetRGB (Color pixel) const` [inline]`

### void SDLmm::PixelFormat::GetRGB (Color pixel, Uint8 & r, Uint8 & g, Uint8 & b) const

Get RGB values from a pixel in the pixel format of this **PixelFormat**.

This function uses the entire 8-bit \[0..255\] range when converting color components from pixel formats with less than 8-bits per RGB component (e.g., a completely white pixel in 16-bit RGB565 format would return \[0xff, 0xff, 0xff\] not \[0xf8, 0xfc, 0xf8\]).

**Parameters:**

- *pixel*

  *the pixel value*

- *r, g, b*

  *references to integers where the RGB result will be stored.*

**See also:**  **GetRGBA***,* **MapRGB***,* **MapRGBA**

### const ColorRGBA SDLmm::PixelFormat::GetRGBA (Color pixel) const` [inline]`

### void SDLmm::PixelFormat::GetRGBA (Color pixel, Uint8 & r, Uint8 & g, Uint8 & b, Uint8 & a) const

*Get RGBA values from a pixel in the pixel format of this* **PixelFormat***.*

*This function uses the entire 8-bit \[0..255\] range when converting color components from pixel formats with less than 8-bits per RGB component (e.g., a completely white pixel in 16-bit RGB565 format would return \[0xff, 0xff, 0xff\] not \[0xf8, 0xfc, 0xf8\]).*

**Note:**  *If the* **PixelFormat** *has no alpha component, the alpha will be returned as 0xff (100% opaque).*

**Parameters:**

- *pixel*

  *the pixel value*

- *r, g, b, a*

  *references to integers where the RGBA result will be stored.*

**See also:**  **GetRGB***,* **MapRGB***,* **MapRGBA**

### Uint8 SDLmm::PixelFormat::Gloss () const` [inline]`

### Uint32 SDLmm::PixelFormat::Gmask () const` [inline]`

### Uint8 SDLmm::PixelFormat::Gshift () const` [inline]`

### Color SDLmm::PixelFormat::MapRGB (const ColorRGB & colorrgb) const` [inline]`

### Color SDLmm::PixelFormat::MapRGB (Uint8 r, Uint8 g, Uint8 b) const

*Map a RGB color value to a pixel format.*

*Maps the RGB color value to this* **PixelFormat***'s pixel format and returns the pixel value as a 32-bit int.*

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

*If the specified pixel format has an alpha component it will be returned as all 1 bits (fully opaque).*

**Returns:**  *A pixel value best approximating the given RGB color value for a given pixel format. 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).*

**Parameters:**

- *r, g, b*

  *the RGB values.*

**See also:**  **GetRGB***,* **GetRGBA***,* **MapRGBA**

### Color SDLmm::PixelFormat::MapRGBA (const ColorRGBA & colorrgba) const` [inline]`

### Color SDLmm::PixelFormat::MapRGBA (Uint8 r, Uint8 g, Uint8 b, Uint8 a) const

*Map a RGBA color value to a pixel format.*

*Maps the RGBA color value to this* **PixelFormat***'s pixel format and returns the pixel value as a 32-bit int.*

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

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

**Returns:**  *A pixel value best approximating the given RGBA color value for a given pixel format. 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).*

**Parameters:**

- *r, g, b, a*

  *the RGBA values.*

**See also:**  **GetRGB***,* **GetRGBA***,* **MapRGB**

### Uint8 SDLmm::PixelFormat::Rloss () const` [inline]`

### Uint32 SDLmm::PixelFormat::Rmask () const` [inline]`

### Uint8 SDLmm::PixelFormat::Rshift () const` [inline]`

### Uint8 SDLmm::PixelFormat::alpha () const` [inline]`

### Color SDLmm::PixelFormat::colorkey () const` [inline]`

### SDL\_Palette \* SDLmm::PixelFormat::palette () const` [inline]`

### bool SDLmm::PixelFormat::valid () const` [inline]`

*Returns true if this* **PixelFormat** *is initialized, false otherwise.*

**Warning:**  *Using an uninitialzied* **PixelFormat** *can cause many problems.*

## MEMBER DATA DOCUMENTATION

### SDL\_PixelFormat \* SDLmm::PixelFormat::me` [protected]`

*The actual SDL\_PixelFormat for this* **PixelFormat***.*

## AUTHOR

*Generated automatically by Doxygen for SDLmm from the source code.*
