Enum Class MemoryFormat
- All Implemented Interfaces:
Serializable,Comparable<MemoryFormat>,Constable,Enumeration
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).
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionOne guint16 value; for alpha.One half-float value; for alpha.One float value; for alpha.One byte; for alpha.4 bytes; for alpha, blue, green, red.4 bytes; for alpha, blue, green, red, The color values are premultiplied with the alpha value.4 bytes; for alpha, red, green, blue.4 bytes; for alpha, red, green, blue.3 bytes; for blue, green, red.4 bytes; for blue, green, red, alpha.4 bytes; for blue, green, red, alpha.Packed format with subsampled channels.4 bytes; for blue, green, red, unused.Multiplane format with 2 planes.Multiplane format with 2 planes.One guint16 value; for grayscale.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 2 planes.2 guint16 values; for grayscale, alpha.2 guint16 values; for grayscale, alpha.One byte; for grayscale.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 2 planes.Multiplane format with 2 planes.Multiplane format with 2 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 2 planes.Multiplane format with 2 planes.Multiplane format with 2 planes.2 bytes; for grayscale, alpha.2 bytes; for grayscale, alpha.Packed format with subsampled channels.Packed format with subsampled channels.The number of formats.3 guint16 values; for red, green, blue.3 half-float values; for red, green, blue.4 guint16 values; for red, green, blue, alpha.4 half-float values; for red, green, blue and alpha.4 half-float values; for red, green, blue and alpha.4 guint16 values; for red, green, blue, alpha.3 float values; for red, green, blue.4 float values; for red, green, blue and alpha.4 float values; for red, green, blue and alpha.3 bytes; for red, green, blue.4 bytes; for red, green, blue, alpha.4 bytes; for red, green, blue, alpha The color values are premultiplied with the alpha value.Packed format with subsampled channels.4 bytes; for red, green, blue, unused.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.Multiplane format with 3 planes.4 bytes; for unused, blue, green, red.4 bytes; for unused, red, green, blue. -
Method Summary
Modifier and TypeMethodDescriptionstatic @Nullable TypegetType()Get the GType of the MemoryFormat classintgetValue()Get the numeric value of this enumstatic MemoryFormatof(int value) Create a new MemoryFormat for the provided valuestatic MemoryFormatof(MemorySegment address) Create a new MemoryFormat for the value in the provided memory address.static MemoryFormatReturns the enum constant of this class with the specified name.static MemoryFormat[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
B8G8R8A8_PREMULTIPLIED
4 bytes; for blue, green, red, alpha. The color values are premultiplied with the alpha value. -
A8R8G8B8_PREMULTIPLIED
4 bytes; for alpha, red, green, blue. The color values are premultiplied with the alpha value. -
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
-
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
-
G8A8_PREMULTIPLIED
2 bytes; for grayscale, alpha. The color values are premultiplied with the alpha value.- Since:
- 4.12
-
G8A8
-
G8
-
G16A16_PREMULTIPLIED
2 guint16 values; for grayscale, alpha. The color values are premultiplied with the alpha value.- Since:
- 4.12
-
G16A16
-
G16
One guint16 value; for grayscale. The data is opaque.- Since:
- 4.12
-
A8
-
A16
-
A16_FLOAT
-
A32_FLOAT
-
A8B8G8R8_PREMULTIPLIED
4 bytes; for alpha, blue, green, red, The color values are premultiplied with the alpha value.- Since:
- 4.14
-
B8G8R8X8
-
X8R8G8B8
-
R8G8B8X8
-
X8B8G8R8
-
G8_B8R8_420
Multiplane format with 2 planes.The first plane contains the first channel, usually containing luma values. The second plane with interleaved chroma values, Cb followed by Cr. Subsampled in both the X and Y direction.
Commonly known by the fourcc "NV12".
- Since:
- 4.20
-
G8_R8B8_420
Multiplane format with 2 planes.The first plane contains the first channel, usually containing luma values. The second plane with interleaved chroma values, Cr followed by Cb. Subsampled in both the X and Y direction.
Commonly known by the fourcc "NV21".
- Since:
- 4.20
-
G8_B8R8_422
Multiplane format with 2 planes.The first plane contains the first channel, usually containing luma values. The second plane with interleaved chroma values, Cb followed by Cr. Subsampled in the X direction.
Commonly known by the fourcc "NV16".
- Since:
- 4.20
-
G8_R8B8_422
Multiplane format with 2 planes.The first plane contains the first channel, usually containing luma values. The second plane with interleaved chroma values, Cr followed by Cb. Subsampled in the X direction.
Commonly known by the fourcc "NV61".
- Since:
- 4.20
-
G8_B8R8_444
Multiplane format with 2 planes.The first plane contains the first channel, usually containing luma values. The second plane with interleaved chroma values, Cb followed by Cr. This format is not subsampled.
Commonly known by the fourcc "NV24".
- Since:
- 4.20
-
G8_R8B8_444
Multiplane format with 2 planes.The first plane contains the first channel, usually containing luma values. The second plane with interleaved chroma values, Cr followed by Cb. This format is not subsampled.
Commonly known by the fourcc "NV42".
- Since:
- 4.20
-
G10X6_B10X6R10X6_420
Multiplane format with 2 planes.Each channel is a 16 bit integer, but only the highest 10 bits are used.
The first plane contains the first channel, usually containing luma values. The second plane with interleaved chroma values, Cr followed by Cb. This format is not subsampled.
Commonly known by the fourcc "P010".
- Since:
- 4.20
-
G12X4_B12X4R12X4_420
Multiplane format with 2 planes.Each channel is a 16 bit integer, but only the highest 10 bits are used.
The first plane contains the first channel, usually containing luma values. The second plane with interleaved chroma values, Cr followed by Cb. This format is not subsampled.
Commonly known by the fourcc "P012".
- Since:
- 4.20
-
G16_B16R16_420
Multiplane format with 2 planes.Each channel is a 16 bit integer.
The first plane contains the first channel, usually containing luma values. The second plane with interleaved chroma values, Cr followed by Cb. This format is not subsampled.
Commonly known by the fourcc "P016".
- Since:
- 4.20
-
G8_B8_R8_410
Multiplane format with 3 planes.Each channel is a 8 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. Subsampled in both the X and Y direction with 4:1 ratio. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. Subsampled in both the X and Y direction with 4:1 ratio. It is mapped into the 1st channel.
Commonly known by the fourcc "YUV410".
- Since:
- 4.20
-
G8_R8_B8_410
Multiplane format with 3 planes.Each channel is a 8 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the second chroma chanel. Subsampled in both the X and Y direction with 4:1 ratio. It is mapped into the 1st channel.
The third plane usually contains the first chroma channel. Subsampled in both the X and Y direction with 4:1 ratio. It is mapped into the 3rd channel.
Commonly known by the fourcc "YVU410".
- Since:
- 4.20
-
G8_B8_R8_411
Multiplane format with 3 planes.Each channel is a 8 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. Subsampled in the X direction with 4:1 ratio. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. Subsampled in the X direction with 4:1 ratio. It is mapped into the 1st channel.
Commonly known by the fourcc "YUV411".
- Since:
- 4.20
-
G8_R8_B8_411
Multiplane format with 3 planes.Each channel is a 8 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the second chroma chanel. Subsampled in the X direction with 4:1 ratio. It is mapped into the 1st channel.
The third plane usually contains the first chroma channel. Subsampled in the X direction with 4:1 ratio. It is mapped into the 3rd channel.
Commonly known by the fourcc "YVU411".
- Since:
- 4.20
-
G8_B8_R8_420
Multiplane format with 3 planes.Each channel is a 8 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. Subsampled in both the X and Y direction. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. Subsampled in both the X and Y direction. It is mapped into the 1st channel.
Commonly known by the fourcc "YUV420".
- Since:
- 4.20
-
G8_R8_B8_420
Multiplane format with 3 planes.Each channel is a 8 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the second chroma chanel. Subsampled in both the X and Y direction. It is mapped into the 1st channel.
The third plane usually contains the first chroma channel. Subsampled in both the X and Y direction. It is mapped into the 3rd channel.
Commonly known by the fourcc "YVU420".
- Since:
- 4.20
-
G8_B8_R8_422
Multiplane format with 3 planes.Each channel is a 8 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. Subsampled in the X direction. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. Subsampled in the X direction. It is mapped into the 1st channel.
Commonly known by the fourcc "YUV422".
- Since:
- 4.20
-
G8_R8_B8_422
Multiplane format with 3 planes.Each channel is a 8 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the second chroma chanel. Subsampled in the X direction. It is mapped into the 1st channel.
The third plane usually contains the first chroma channel. Subsampled in the X direction. It is mapped into the 3rd channel.
Commonly known by the fourcc "YVU422".
- Since:
- 4.20
-
G8_B8_R8_444
Multiplane format with 3 planes.Each channel is a 8 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. It is mapped into the 1st channel.
Commonly known by the fourcc "YUV444".
- Since:
- 4.20
-
G8_R8_B8_444
Multiplane format with 3 planes.Each channel is a 8 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the second chroma chanel. Subsampled in the X direction. It is mapped into the 1st channel.
The third plane usually contains the first chroma channel. Subsampled in the X direction. It is mapped into the 3rd channel.
Commonly known by the fourcc "YVU444".
- Since:
- 4.20
-
G8B8G8R8_422
Packed format with subsampled channels.Each channel is a 8 bit integer. The red and blue/chroma channels are subsampled and interleaved with the green/luma channel.
Each block contains 2 pixels, so the width must be a multiple of 2.
Commonly known by the fourcc "YUYV".
- Since:
- 4.20
-
G8R8G8B8_422
Packed format with subsampled channels.Each channel is a 8 bit integer. The red and blue/chroma channels are subsampled and interleaved with the green/luma channel.
Each block contains 2 pixels, so the width must be a multiple of 2.
Commonly known by the fourcc "YVYU".
- Since:
- 4.20
-
R8G8B8G8_422
Packed format with subsampled channels.Each channel is a 8 bit integer. The red and blue/chroma channels are subsampled and interleaved with the green/luma channel.
Each block contains 2 pixels, so the width must be a multiple of 2.
Commonly known by the fourcc "VYUY".
- Since:
- 4.20
-
B8G8R8G8_422
Packed format with subsampled channels.Each channel is a 8 bit integer. The red and blue/chroma channels are subsampled and interleaved with the green/luma channel.
Each block contains 2 pixels, so the width must be a multiple of 2.
Commonly known by the fourcc "UYVY".
- Since:
- 4.20
-
X6G10_X6B10_X6R10_420
Multiplane format with 3 planes.Each channel is a 16 bit integer.
Only the 10 lower bits are used. The remaining ones must be set to 0 by the producer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. Subsampled in both the X and Y direction. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. Subsampled in both the X and Y direction. It is mapped into the 1st channel.
Commonly known by the fourcc "S010".
- Since:
- 4.20
-
X6G10_X6B10_X6R10_422
Multiplane format with 3 planes.Each channel is a 16 bit integer.
Only the 10 lower bits are used. The remaining ones must be set to 0 by the producer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. Subsampled in the X direction. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. Subsampled in the X direction. It is mapped into the 1st channel.
Commonly known by the fourcc "S210".
- Since:
- 4.20
-
X6G10_X6B10_X6R10_444
Multiplane format with 3 planes.Each channel is a 16 bit integer.
Only the 10 lower bits are used. The remaining ones must be set to 0 by the producer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. It is mapped into the 1st channel.
Commonly known by the fourcc "S410".
- Since:
- 4.20
-
X4G12_X4B12_X4R12_420
Multiplane format with 3 planes.Each channel is a 16 bit integer.
Only the 12 lower bits are used. The remaining ones must be set to 0 by the producer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. Subsampled in both the X and Y direction. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. Subsampled in both the X and Y direction. It is mapped into the 1st channel.
Commonly known by the fourcc "S012".
- Since:
- 4.20
-
X4G12_X4B12_X4R12_422
Multiplane format with 3 planes.Each channel is a 16 bit integer.
Only the 12 lower bits are used. The remaining ones must be set to 0 by the producer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. Subsampled in the X direction. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. Subsampled in the X direction. It is mapped into the 1st channel.
Commonly known by the fourcc "S212".
- Since:
- 4.20
-
X4G12_X4B12_X4R12_444
Multiplane format with 3 planes.Each channel is a 16 bit integer.
Only the 12 lower bits are used. The remaining ones must be set to 0 by the producer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. It is mapped into the 1st channel.
Commonly known by the fourcc "S412".
- Since:
- 4.20
-
G16_B16_R16_420
Multiplane format with 3 planes.Each channel is a 16 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. Subsampled in both the X and Y direction. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. Subsampled in both the X and Y direction. It is mapped into the 1st channel.
Commonly known by the fourcc "S016".
- Since:
- 4.20
-
G16_B16_R16_422
Multiplane format with 3 planes.Each channel is a 16 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. Subsampled in the X direction. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. Subsampled in the X direction. It is mapped into the 1st channel.
Commonly known by the fourcc "S216".
- Since:
- 4.20
-
G16_B16_R16_444
Multiplane format with 3 planes.Each channel is a 16 bit integer.
The first plane usually contains the luma channel. It is mapped into the 2nd channel.
The second plane usually contains the first chroma chanel. It is mapped into the 3rd channel.
The third plane usually contains the second chroma channel. It is mapped into the 1st channel.
Commonly known by the fourcc "S416".
- Since:
- 4.20
-
N_FORMATS
The number of formats. This value will change as more formats get added, so do not rely on its concrete integer.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
of
Create a new MemoryFormat for the provided value- Parameters:
value- the enum value- Returns:
- the enum for the provided value
-
getValue
public int getValue()Get the numeric value of this enum- Specified by:
getValuein interfaceEnumeration- Returns:
- the enum value
-
of
Create a new MemoryFormat for the value in the provided memory address.- Parameters:
address- the memory address holding a enum value- Returns:
- the enum for the value in the provided memory address
-
getType
-