enum Gdk::MemoryFormat

Overview

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 Gdk::MemoryFormats on architectures with different endiannesses.

Its naming is modelled after VkFormat for details).

Defined in:

lib/gi-crystal/src/auto/gdk-4.0/gdk.cr

Enum Members

B8g8r8a8Premultiplied = 0_u32

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

A8r8g8b8Premultiplied = 1_u32

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

R8g8b8a8Premultiplied = 2_u32

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

B8g8r8a8 = 3_u32

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

A8r8g8b8 = 4_u32

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

R8g8b8a8 = 5_u32

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

A8b8g8r8 = 6_u32

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

R8g8b8 = 7_u32

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

B8g8r8 = 8_u32

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

R16g16b16 = 9_u32

3 guint16 values; for red, green, blue.

R16g16b16a16Premultiplied = 10_u32

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

R16g16b16a16 = 11_u32

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

R16g16b16Float = 12_u32

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

R16g16b16a16FloatPremultiplied = 13_u32

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

R16g16b16a16Float = 14_u32

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

R32g32b32Float = 15_u32

3 float values; for red, green, blue.

R32g32b32a32FloatPremultiplied = 16_u32

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

R32g32b32a32Float = 17_u32

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

G8a8Premultiplied = 18_u32

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

G8a8 = 19_u32

2 bytes; for grayscale, alpha.

G8 = 20_u32

One byte; for grayscale. The data is opaque.

G16a16Premultiplied = 21_u32

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

G16a16 = 22_u32

2 guint16 values; for grayscale, alpha.

G16 = 23_u32

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

A8 = 24_u32

One byte; for alpha.

A16 = 25_u32

One guint16 value; for alpha.

A16Float = 26_u32

One half-float value; for alpha.

A32Float = 27_u32

One float value; for alpha.

A8b8g8r8Premultiplied = 28_u32

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

B8g8r8x8 = 29_u32

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

X8r8g8b8 = 30_u32

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

R8g8b8x8 = 31_u32

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

X8b8g8r8 = 32_u32

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

NFormats = 33_u32

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

Class Method Summary

Instance Method Summary

Class methods inherited from struct Enum

g_type : UInt64 g_type

Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


Instance Method Detail

def a16? #

def a16_float? #

def a32_float? #

def a8? #

def a8b8g8r8? #

def a8b8g8r8_premultiplied? #

def a8r8g8b8? #

def a8r8g8b8_premultiplied? #

def b8g8r8? #

def b8g8r8a8? #

def b8g8r8a8_premultiplied? #

def b8g8r8x8? #

def g16? #

def g16a16? #

def g16a16_premultiplied? #

def g8? #

def g8a8? #

def g8a8_premultiplied? #

def n_formats? #

def r16g16b16? #

def r16g16b16_float? #

def r16g16b16a16? #

def r16g16b16a16_float? #

def r16g16b16a16_float_premultiplied? #

def r16g16b16a16_premultiplied? #

def r32g32b32_float? #

def r32g32b32a32_float? #

def r32g32b32a32_float_premultiplied? #

def r8g8b8? #

def r8g8b8a8? #

def r8g8b8a8_premultiplied? #

def r8g8b8x8? #

def x8b8g8r8? #

def x8r8g8b8? #