Package: gdk

GEnum gdk:memory-format

Declaration

(gobject:define-genum "GdkMemoryFormat" memory-format
  (:export t
   :type-initializer "gdk_memory_format_get_type")
  :B8G8R8A8-PREMULTIPLIED
  :A8R8G8B8-PREMULTIPLIED
  :R8G8B8A8-PREMULTIPLIED
  :B8G8R8A8
  :A8R8G8B8
  :R8G8B8A8
  :A8B8G8R8
  :R8G8B8
  :B8G8R8
  :R16G16B16
  :R16G16B16A16-PREMULTIPLIED
  :R16G16B16A16
  :R16G16B16-FLOAT
  :R16G16B16A16-FLOAT-PREMULTIPLIED
  :R16G16B16A16-FLOAT
  :R32G32B32-FLOAT
  :R32G32B32A32-FLOAT-PREMULTIPLIED
  :R32G32B32A32-FLOAT
  :8A8-PREMULTIPLIED
  :G8A8
  :G8
  :G16A16-PREMULTIPLIED
  :G16A16
  :G16
  :A8
  :A16
  :A16-FLOAT
  :A32-FLOAT
  :A8B8G8R8-PREMULTIPLIED
  :B8G8R8X8
  :X8R8G8B8
  :R8G8B8X8
  :X8B8G8R8
  :N-FORMATS)  

Values

:B8G8R8A8-PREMULTIPLIED
4 bytes for blue, green, red, alpha. The color values are premultiplied with the alpha value. This is the default memory format for little endianness.
:A8R8G8B8-PREMULTIPLIED
4 bytes for alpha, red, green, blue. The color values are premultiplied with the alpha value. This is the default memory format for big endianness.
:R8G8B8A8-PREMULTIPLIED
4 bytes for red, green, blue, alpha The color values are premultiplied with the alpha value.
:B8G8R8A8
4 bytes for blue, green, red, alpha.
:A8R8G8B8
4 bytes for alpha, red, green, blue.
:R8G8B8A8
4 bytes for red, green, blue, alpha.
:A8B8G8R8
4 bytes for alpha, blue, green, red.
:R8G8B8
3 bytes for red, green, blue. The data is opaque.
:B8G8R8
3 bytes for blue, green, red. The data is opaque.
:R16G16B16
3 guint16 values for red, green, blue. Since 4.6
:R16G16B16A16-PREMULTIPLIED
4 guint16 values for red, green, blue, alpha. The color values are premultiplied with the alpha value. Since 4.6
:R16G16B16A16
4 guint16 values for red, green, blue, alpha. Since 4.6
:R16G16B16-FLOAT
3 half-float values for red, green, blue. The data is opaque. Since 4.6
:R16G16B16A16-FLOAT-PREMULTIPLIED
4 half-float values for red, green, blue and alpha. The color values are premultiplied with the alpha value. Since 4.6
:R16G16B16A16-FLOAT
4 half-float values for red, green, blue and alpha. Since 4.6
:R32G32B32-FLOAT
3 float values for red, green, blue.
:R32G32B32A32-FLOAT-PREMULTIPLIED
4 float values for red, green, blue and alpha. The color values are premultiplied with the alpha value. Since 4.6
:R32G32B32A32-FLOAT
4 float values for red, green, blue and alpha. Since 4.6
:8A8-PREMULTIPLIED
2 bytes for grayscale, alpha. The color values are premultiplied with the alpha value. Since 4.12
:G8A8
2 bytes for grayscale, alpha. Since 4.12
:G8
One byte for grayscale. The data is opaque. Since 4.12
:G16A16-PREMULTIPLIED
2 guint16 values for grayscale, alpha. The color values are premultiplied with the alpha value. Since 4.12
:G16A16
2 guint16 values for grayscale, alpha. Since 4.12
:G16
One guint16 value for grayscale. The data is opaque. Since 4.12
:A8
One byte for alpha. Since 4.12
:A16
One guint16 value for alpha. Since 4.12
:A16-FLOAT
One half-float value for alpha. Since 4.12
:A32-FLOAT
One float value for alpha. Since 4.12
:A8B8G8R8-PREMULTIPLIED
4 bytes for alpha, blue, green, red. The color values are premultiplied with the alpha value. Since 4.14
:B8G8R8X8
4 bytes for blue, green, red, unused. Since 4.14
:X8R8G8B8
4 bytes for unused, red, green, blue. Since 4.14
:R8G8B8X8
4 bytes for red, green, blue, unused. Since 4.14
:X8B8G8R8
4 bytes for unused, blue, green, red. Since 4.14
:N-FORMATS
The number of formats. This value will change as more formats get added, so do not rely on its concrete integer.

Details

The gdk:memory-format enumeration describes a format that bytes can have in memory. It describes formats by listing the contents of the memory passed to it. So :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 the :argb32 value of the cairo:format-t enumeration is represented by different memory format values on architectures with different endiannesses.

Its naming is modelled after VkFormat.
 

See also

2025-3-11