MemoryFormat

class MemoryFormat

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).

Fields

class MemoryFormat
A16

One guint16 value; for alpha.

Added in version 4.12.

A16_FLOAT

One half-float value; for alpha.

Added in version 4.12.

A32_FLOAT

One float value; for alpha.

Added in version 4.12.

A8

One byte; for alpha.

Added in version 4.12.

A8B8G8R8

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

A8B8G8R8_PREMULTIPLIED

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

Added in version 4.14.

A8R8G8B8

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

A8R8G8B8_PREMULTIPLIED

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

B8G8R8

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

B8G8R8A8

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

B8G8R8A8_PREMULTIPLIED

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

B8G8R8X8

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

Added in version 4.14.

G16

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

Added in version 4.12.

G16A16

2 guint16 values; for grayscale, alpha.

Added in version 4.12.

G16A16_PREMULTIPLIED

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

Added in version 4.12.

G8

One byte; for grayscale. The data is opaque.

Added in version 4.12.

G8A8

2 bytes; for grayscale, alpha.

Added in version 4.12.

G8A8_PREMULTIPLIED

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

Added in version 4.12.

N_FORMATS

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

R16G16B16

3 guint16 values; for red, green, blue.

Added in version 4.6.

R16G16B16A16

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

Added in version 4.6.

R16G16B16A16_FLOAT

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

Added in version 4.6.

R16G16B16A16_FLOAT_PREMULTIPLIED

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

Added in version 4.6.

R16G16B16A16_PREMULTIPLIED

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

Added in version 4.6.

R16G16B16_FLOAT

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

Added in version 4.6.

R32G32B32A32_FLOAT

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

Added in version 4.6.

R32G32B32A32_FLOAT_PREMULTIPLIED

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

Added in version 4.6.

R32G32B32_FLOAT

3 float values; for red, green, blue.

R8G8B8

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

R8G8B8A8

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

R8G8B8A8_PREMULTIPLIED

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

R8G8B8X8

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

Added in version 4.14.

X8B8G8R8

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

Added in version 4.14.

X8R8G8B8

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

Added in version 4.14.