### Enumeration

# Gdk MemoryFormat

since: 4.0

#### Declaration

    enum Gdk.MemoryFormat

#### Description [src]

`GdkMemoryFormat` describes formats that image data can have in memory.

It describes formats by listing the contents of the memory passed to it. So `GDK_MEMORY_A8R8G8B8` will be 1 byte (8 bits) of alpha, followed by a byte each of red, green and blue. It is not endian-dependent, so `CAIRO_FORMAT_ARGB32` is represented by different `GdkMemoryFormats` on architectures with different endiannesses.

Its naming is modelled after VkFormat for details).

Available since: 4.0

#### Members

`GDK_MEMORY_B8G8R8A8_PREMULTIPLIED`

  4 bytes; for blue, green, red, alpha. The color values are premultiplied with the alpha value.

  - Value: `0`
  - Nickname: `b8g8r8a8-premultiplied`
  - Available since: 4.0
`GDK_MEMORY_A8R8G8B8_PREMULTIPLIED`

  4 bytes; for alpha, red, green, blue. The color values are premultiplied with the alpha value.

  - Value: `1`
  - Nickname: `a8r8g8b8-premultiplied`
  - Available since: 4.0
`GDK_MEMORY_R8G8B8A8_PREMULTIPLIED`

  4 bytes; for red, green, blue, alpha The color values are premultiplied with the alpha value.

  - Value: `2`
  - Nickname: `r8g8b8a8-premultiplied`
  - Available since: 4.0
`GDK_MEMORY_B8G8R8A8`

  4 bytes; for blue, green, red, alpha.

  - Value: `3`
  - Nickname: `b8g8r8a8`
  - Available since: 4.0
`GDK_MEMORY_A8R8G8B8`

  4 bytes; for alpha, red, green, blue.

  - Value: `4`
  - Nickname: `a8r8g8b8`
  - Available since: 4.0
`GDK_MEMORY_R8G8B8A8`

  4 bytes; for red, green, blue, alpha.

  - Value: `5`
  - Nickname: `r8g8b8a8`
  - Available since: 4.0
`GDK_MEMORY_A8B8G8R8`

  4 bytes; for alpha, blue, green, red.

  - Value: `6`
  - Nickname: `a8b8g8r8`
  - Available since: 4.0
`GDK_MEMORY_R8G8B8`

  3 bytes; for red, green, blue. The data is opaque.

  - Value: `7`
  - Nickname: `r8g8b8`
  - Available since: 4.0
`GDK_MEMORY_B8G8R8`

  3 bytes; for blue, green, red. The data is opaque.

  - Value: `8`
  - Nickname: `b8g8r8`
  - Available since: 4.0
`GDK_MEMORY_R16G16B16`

  3 guint16 values; for red, green, blue.

  - Value: `9`
  - Nickname: `r16g16b16`
  - Available since: 4.6
`GDK_MEMORY_R16G16B16A16_PREMULTIPLIED`

  4 guint16 values; for red, green, blue, alpha. The color values are premultiplied with the alpha value.

  - Value: `10`
  - Nickname: `r16g16b16a16-premultiplied`
  - Available since: 4.6
`GDK_MEMORY_R16G16B16A16`

  4 guint16 values; for red, green, blue, alpha.

  - Value: `11`
  - Nickname: `r16g16b16a16`
  - Available since: 4.6
`GDK_MEMORY_R16G16B16_FLOAT`

  3 half-float values; for red, green, blue. The data is opaque.

  - Value: `12`
  - Nickname: `r16g16b16-float`
  - Available since: 4.6
`GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED`

  4 half-float values; for red, green, blue and alpha. The color values are premultiplied with the alpha value.

  - Value: `13`
  - Nickname: `r16g16b16a16-float-premultiplied`
  - Available since: 4.6
`GDK_MEMORY_R16G16B16A16_FLOAT`

  4 half-float values; for red, green, blue and alpha.

  - Value: `14`
  - Nickname: `r16g16b16a16-float`
  - Available since: 4.6
`GDK_MEMORY_R32G32B32_FLOAT`

  3 float values; for red, green, blue.

  - Value: `15`
  - Nickname: `r32g32b32-float`
  - Available since: 4.0
`GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED`

  4 float values; for red, green, blue and alpha. The color values are premultiplied with the alpha value.

  - Value: `16`
  - Nickname: `r32g32b32a32-float-premultiplied`
  - Available since: 4.6
`GDK_MEMORY_R32G32B32A32_FLOAT`

  4 float values; for red, green, blue and alpha.

  - Value: `17`
  - Nickname: `r32g32b32a32-float`
  - Available since: 4.6
`GDK_MEMORY_G8A8_PREMULTIPLIED`

  2 bytes; for grayscale, alpha. The color values are premultiplied with the alpha value.

  - Value: `18`
  - Nickname: `g8a8-premultiplied`
  - Available since: 4.12
`GDK_MEMORY_G8A8`

  2 bytes; for grayscale, alpha.

  - Value: `19`
  - Nickname: `g8a8`
  - Available since: 4.12
`GDK_MEMORY_G8`

  One byte; for grayscale. The data is opaque.

  - Value: `20`
  - Nickname: `g8`
  - Available since: 4.12
`GDK_MEMORY_G16A16_PREMULTIPLIED`

  2 guint16 values; for grayscale, alpha. The color values are premultiplied with the alpha value.

  - Value: `21`
  - Nickname: `g16a16-premultiplied`
  - Available since: 4.12
`GDK_MEMORY_G16A16`

  2 guint16 values; for grayscale, alpha.

  - Value: `22`
  - Nickname: `g16a16`
  - Available since: 4.12
`GDK_MEMORY_G16`

  One guint16 value; for grayscale. The data is opaque.

  - Value: `23`
  - Nickname: `g16`
  - Available since: 4.12
`GDK_MEMORY_A8`

  One byte; for alpha.

  - Value: `24`
  - Nickname: `a8`
  - Available since: 4.12
`GDK_MEMORY_A16`

  One guint16 value; for alpha.

  - Value: `25`
  - Nickname: `a16`
  - Available since: 4.12
`GDK_MEMORY_A16_FLOAT`

  One half-float value; for alpha.

  - Value: `26`
  - Nickname: `a16-float`
  - Available since: 4.12
`GDK_MEMORY_A32_FLOAT`

  One float value; for alpha.

  - Value: `27`
  - Nickname: `a32-float`
  - Available since: 4.12
`GDK_MEMORY_A8B8G8R8_PREMULTIPLIED`

  4 bytes; for alpha, blue, green, red, The color values are premultiplied with the alpha value.

  - Value: `28`
  - Nickname: `a8b8g8r8-premultiplied`
  - Available since: 4.14
`GDK_MEMORY_B8G8R8X8`

  4 bytes; for blue, green, red, unused.

  - Value: `29`
  - Nickname: `b8g8r8x8`
  - Available since: 4.14
`GDK_MEMORY_X8R8G8B8`

  4 bytes; for unused, red, green, blue.

  - Value: `30`
  - Nickname: `x8r8g8b8`
  - Available since: 4.14
`GDK_MEMORY_R8G8B8X8`

  4 bytes; for red, green, blue, unused.

  - Value: `31`
  - Nickname: `r8g8b8x8`
  - Available since: 4.14
`GDK_MEMORY_X8B8G8R8`

  4 bytes; for unused, blue, green, red.

  - Value: `32`
  - Nickname: `x8b8g8r8`
  - Available since: 4.14
`GDK_MEMORY_N_FORMATS`

  The number of formats. This value will change as more formats get added, so do not rely on its concrete integer.

  - Value: `33`
  - Nickname: `n-formats`
  - Available since: 4.0