GdkMemoryFormat

GdkMemoryFormat describes a format that bytes 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 (see https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkFormat

for details).

Values

ValueMeaning
B8G8R8A8_PREMULTIPLIED0

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

A8R8G8B8_PREMULTIPLIED1

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

R8G8B8A8_PREMULTIPLIED2

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

B8G8R8A83

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

A8R8G8B84

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

R8G8B8A85

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

A8B8G8R86

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

R8G8B87

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

B8G8R88

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

N_FORMATS9

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

Meta