Enum cogl::PixelFormat[][src]

#[non_exhaustive]
pub enum PixelFormat {
Show variants Any, A8, Rgb565, Rgba4444, Rgba5551, Yuv, G8, Rg88, Rgb888, Bgr888, Rgba8888, Bgra8888, Argb8888, Abgr8888, Rgba1010102, Bgra1010102, Argb2101010, Abgr2101010, Rgba8888Pre, Bgra8888Pre, Argb8888Pre, Abgr8888Pre, Rgba4444Pre, Rgba5551Pre, Rgba1010102Pre, Bgra1010102Pre, Argb2101010Pre, Abgr2101010Pre, Depth16, Depth32, Depth24Stencil8, // some variants omitted
}

Pixel formats used by Cogl. For the formats with a byte per component, the order of the components specify the order in increasing memory addresses. So for example PixelFormat::Rgb888 would have the red component in the lowest address, green in the next address and blue after that regardless of the endianness of the system.

For the formats with non byte aligned components the component order specifies the order within a 16-bit or 32-bit number from most significant bit to least significant. So for PixelFormat::Rgb565, the red component would be in bits 11-15, the green component would be in 6-11 and the blue component would be in 1-5. Therefore the order in memory depends on the endianness of the system.

When uploading a texture PixelFormat::Any can be used as the internal format. Cogl will try to pick the best format to use internally and convert the texture data if necessary.

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Any

Any format

A8

8 bits alpha mask

Rgb565

RGB, 16 bits

Rgba4444

RGBA, 16 bits

Rgba5551

RGBA, 16 bits

Yuv

Not currently supported

G8

Single luminance component

Rg88

RG, 16 bits. Note that red-green textures are only available if FeatureID::OglFeatureIdTextureRg is advertised. See Texture::set_components for details.

Rgb888

RGB, 24 bits

Bgr888

BGR, 24 bits

Rgba8888

RGBA, 32 bits

Bgra8888

BGRA, 32 bits

Argb8888

ARGB, 32 bits

Abgr8888

ABGR, 32 bits

Rgba1010102

RGBA, 32 bits, 10 bpc

Bgra1010102

BGRA, 32 bits, 10 bpc

Argb2101010

ARGB, 32 bits, 10 bpc

Abgr2101010

ABGR, 32 bits, 10 bpc

Rgba8888Pre

Premultiplied RGBA, 32 bits

Bgra8888Pre

Premultiplied BGRA, 32 bits

Argb8888Pre

Premultiplied ARGB, 32 bits

Abgr8888Pre

Premultiplied ABGR, 32 bits

Rgba4444Pre

Premultiplied RGBA, 16 bits

Rgba5551Pre

Premultiplied RGBA, 16 bits

Rgba1010102Pre

Premultiplied RGBA, 32 bits, 10 bpc

Bgra1010102Pre

Premultiplied BGRA, 32 bits, 10 bpc

Argb2101010Pre

Premultiplied ARGB, 32 bits, 10 bpc

Abgr2101010Pre

Premultiplied ABGR, 32 bits, 10 bpc

Depth16
Depth32
Depth24Stencil8

Trait Implementations

impl Clone for PixelFormat[src]

impl Copy for PixelFormat[src]

impl Debug for PixelFormat[src]

impl Display for PixelFormat[src]

impl Eq for PixelFormat[src]

impl<'a> FromValue<'a> for PixelFormat[src]

impl<'a> FromValueOptional<'a> for PixelFormat[src]

impl Hash for PixelFormat[src]

impl Ord for PixelFormat[src]

impl PartialEq<PixelFormat> for PixelFormat[src]

impl PartialOrd<PixelFormat> for PixelFormat[src]

impl SetValue for PixelFormat[src]

impl StaticType for PixelFormat[src]

impl StructuralEq for PixelFormat[src]

impl StructuralPartialEq for PixelFormat[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToSendValue for T where
    T: SetValue + Send + ToValue + ?Sized
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToValue for T where
    T: SetValue + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.